0

ディレクトリ内のファイルを一覧表示し、関数を使用して各ファイルを解析するこのコードがあります。

paths = []
for filename in os.listdir(r"C:\Program Files (x86)\Folder\Folder"):
    with open(filename) as f:            
        paths.append(parse_file(f))

エラーが発生しました:

  File "find.py", line 21, in <module>
    with open(filename) as f:
IOError: [Errno 2] No such file or directory: 'file.txt'

このエラーは、file.txt指定したフォルダーに存在するために表示されたことを示していos.listdirます。そこにはさらに多くのファイルがあります。削除file.txtすると、別のファイルにエラーが表示されます。

また、ファイルをデスクトップのディレクトリに移動しようとしましたが、スクリプトは正常に機能しました。

わからない問題は何ですか。私はPythonにかなり慣れていないので、そのばかげた質問があれば許してください。ありがとうございました!

4

1 に答える 1

4

os.listdir()パスではなく、ファイル名を返します。それらをディレクトリ名で結合して、絶対パスを作成します。

path = r"C:\Program Files (x86)\Folder\Folder"
for filename in os.listdir(path):
    with open(os.path.join(path, filename)) as f:            
于 2013-03-20T21:36:46.027 に答える