一連の html ファイルをダウンロードし、それらを保存したファイル パスを .txt ファイルに保存しました。新しい行に各パスがあります。リストの最初のファイルを見てから、リスト全体を繰り返し処理し、ファイルを開いてデータを抽出してから、次のファイルに進みたいと思いました。
私のコードは、次のように(最初のファイル用に)直接入力された単一のパスで正常に動作します。
path = r'C:\path\to\file.html'
次を使用してテキストファイルを反復処理すると機能します。
file_list_fp = r'C:\path\to\file_with_pathlist.txt'
with open(file_list_fp, 'r') as file_list:
for filepath in file_list:
pathend = filepath.find('\n')
path = file[:pathend]
q = open(path, 'r').read()
しかし、次のいずれかを使用して単一のパスを取得しようとすると失敗します。
with open(file_list_fp, 'r') as file_list:
path_n = file_list.readline()
end = path_n.find('\n')
path_bad1 = path_n[:end]
また:
with open(file_list_fp, 'r') as file_list:
path_bad2 = file_list.readline().split('\n')[0]
これら 2 つのコードを使用すると、その直後にコードが終了します。理由がわかりません。どんなポインタでも大歓迎です。(私は Windows で Python 3.3.1 を使用しています。)