2017-10-06 8 views
0

こんにちは、私は美しいスープを手に入れようとしています。私はジュピターのノートを使用しています。私はsoup.prettify()とprint(soup.prettify())を書いていましたが、最初のものを使用した場合、htmlはかなり印刷されませんでしたが、印刷でHTMLを構造化された方法で印刷しましたか?理由は何でしょうか?soup.prettifyとprint(soup.prettify)の違い​​は何ですか?

答えて

1

1つは、フォーマットされた文字列のrepr()を表示し、もう1つはstr()です。前者はデバッグ形式なので、印字不可能な文字を見ることができ、もう1つは通常の表示形式です。例えば

>>> from bs4 import BeautifulSoup as soup 
>>> s = soup('<html><body><p>blah blah blah</p></body><html>','html5lib') 
>>> s 
<html><head></head><body><p>blah blah blah</p></body></html> 
>>> s.prettify() 
'<html>\n <head>\n </head>\n <body>\n <p>\n blah blah blah\n </p>\n </body>\n</html>' 
>>> print(s.prettify()) 
<html> 
<head> 
</head> 
<body> 
    <p> 
    blah blah blah 
    </p> 
</body> 
</html> 

は、あなたはそれがすべて1行に、文字列であることを示すrepr()バージョンとその周りの引用符で\nとして改行を見ることができます。

関連する問題