1
フォルダ内のファイルを繰り返し処理しようとしていますが、コードは常に1つのファイル(現在は2つのファイル)で実行されています。プログラムはtxtファイルを開き、それをPythonリストに変換し、リストを新しい作成ファイル(それぞれ別々に)に書き込む必要があります。私はバグだけを見つけることができません。pythonがファイルを反復処理してtxtに追加する
import io
import os
'''printing program directory'''
ANVCONDA_directory = os.path.dirname(os.path.realpath(__file__)) + os.sep
print ANVCONDA_directory
inputdir = ANVCONDA_directory + "TEMP"
print os.listdir(inputdir)
'''counting files in folder'''
path, dirs, files = os.walk(inputdir).next()
file_count = len(files)
print file_count
for filename in os.listdir(inputdir):
#opening txt file to extract data
with io.open(inputdir + "\\" + filename, "r", encoding="cp1250") as file:
ocr_results = [line.strip() for line in file]
#spliting into list
for line in ocr_results:
print("[" + line + "]")
#writing list to file
import pickle
with open('outfile' + filename, 'wb') as fp:
pickle.dump(ocr_results, fp)
インデントを確認してください。 '( 'outfile' + filename、 'wb')をfp:'としたファイルは、os.listdir(inputdir)の 'for filename 'の中にありません:' –
また、一貫した字下げを保つようにしてください。 –
)1.モジュールの上部に 'pickle pick 'があります。あなたはインデントレベルと一致する必要があります。どこにでも4つのスペース/ 1つのタブを使用してください。私はいくつかの不一致を見る。 – mmenschig