このコードを書いて、ファイル0〜100を反復処理しました。問題は、ログファイル0が見つからない場合に次のファイルに移動しないことです。ループを反復する方法
私はreturn i +1
を使用しようとしましたが、これはコーディングに新しいものではありません。続行する方法がわかりません。空のファイルを無視して次へ進む方法。私はカウンターを保持する必要がありますか?
import os
path = "C:\\Users\\Bindu\\Documents\\Thesis\\lfiles\\"
list = os.listdir(path) # dir is your directory path
number_files = len(list)
print(number_files)
try:
for i in range(0, 100):
path2 = "data." + str(i) + "\\Log." + str(i)
file = path + path2
f = open(file)
if not os.path.exists(path2):
with open(path2) as fi:
if not fi.read(3): # avoid reading entire file.
print("File is empty")
except Exception as e:
raise SystemExit("File empty")
なぜos.listdir(パス)の 'for file 'を使わないのですか?それでは、存在しないファイルを読み込もうとする問題に遭遇することはありません。 – DavidG
'list'もキーワードなので、変数名として使用することをお勧めします。 – Sayse