ホームページ >バックエンド開発 >Python チュートリアル >Python で os.listdir を使用すると FileNotFoundError が発生するのはなぜですか?

Python で os.listdir を使用すると FileNotFoundError が発生するのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-18 19:27:02318ブラウズ

Why Do I Get a FileNotFoundError When Using os.listdir in Python?

os.listdir によって返されるファイル名の FileNotFoundError

Python では、os.listdir を使用してディレクトリ内のファイルを反復処理するときに、次のような場合があります。ファイルが存在するにもかかわらず、FileNotFoundError が発生しました。

原因:

os.listdir は、完全なパス (例: 'foo.txt') ではなく、ファイル名 (例: 'foo.txt') のみを返します。 、「E:/somedir/foo.txt」)。ファイルを開くときは、完全なパスが必要です。

解決策:

os.path.join を使用して、ファイル名の先頭にディレクトリ パスを追加します:

import os

path = r'E:/somedir'

for filename in os.listdir(path):
    with open(os.path.join(path, filename)) as f:
        ... # process the file

さらに、with ブロックを使用すると、ファイルが自動的に閉じられます。

以上がPython で os.listdir を使用すると FileNotFoundError が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。