2つのサブフォルダを含むルートフォルダを歩き回り、そのいずれかのサブフォルダに移動してファイルをソートし、ソートされたファイルの最初のものに対してのみ別の機能を実行し、残りのフォルダで同じことをします。ここまでは私のコードですが、うまくいきません。 AppendFiles
関数は実行されません。このセクションの最後にトレースバックを置くと、エラーは発生しません。os.walkを使用してファイルをソートし、フォルダ内の最初のファイルでのみ関数を実行します
x=0
y=0
errorFiles={}
datadir = 'C:/root/path'
for root, dirs, files in os.walk(datadir):
for dirname in dirs:
for filename in sorted(files, key=int):
name = filename[:-4]
file = datetime.strptime(name, "%y%m%d%H")
(x,errorFiles) = AppendFiles(file,datadir,dirname,x,y,errorFiles)
if x==0:
pass
else:
print("The following" + dirname + " files experienced a Decoding Error:\n")
for i in range(x):
print(errorFiles[i] + "\n")
break
name = filename[:-4]
部分は、それが私の機能で素晴らしいプレーしますので、最後に.csv
のファイル名を除去するだけです。私はここからどこに行くべきかわからない、すべての助けに感謝!
逆の質問ですが、(x,errorFiles)
の行に正しい構文がありますか? AppendFiles()
は(a,b)
を返します。b
は配列です。
'os.walk'は3タプルを返します。最初のメンバはカレントディレクトリで、ウォークされたディレクトリごとに1回だけ返されます。 – tripleee