Win7x64でPython3.2を使用する。IDLEを起動するたびに実行したいスクリプトがあります。これは私のスクリプトです:
import sys
from bs4 import BeautifulSoup
sys.setrecursionlimit(2000)
soup = BeautifulSoup()
def soupSetup(file_name, encode_type):
soup = BeautifulSoup(open("C:\\Python32\\html\\"+file_name+".html", encoding=encode_type))
このようにしてすべてが設定され、soupSetup()
使用するhtmlファイルを渡すだけで、データの操作を開始できます。
私の問題はこれです-私が使用するときにコードをそのまま使用するprint(soup.prettify())
と、何も返されませんが、空白行が返されます。printステートメントを実行するときに最初にクラスをインスタンス化しないと、次のようになります。
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
print(soup.prettify())
NameError: name 'soup' is not defined
BeautifulSoupに慣れていない人のために、スープはのインスタンスです<class 'bs4.BeautifulSoup'>
。
スクリプトの外部でスープオブジェクトを永続化するにはどうすればよいですか?