最近私の設定ファイルをプロジェクトの別のフォルダに移動しました。私はこのようなロードしよう:Python:os.listdirファイルが見つかりません
CONFIG_PATH = os.path.abspath(os.path.dirname(os.path.abspath(__file__))+"/../config/")
def load_config():
configs = {}
for config in os.listdir(CONFIG_PATH):
configs[str(config)[0:-12]] = json.load(open(config))
return configs
私は
D:/.../MyProject/src
からコードを実行しているし、指定CONFIGPATH
が正しくその繰り返しループで今すぐ
D:/.../MyProject/config
に設定されています、 open(config)
は例外を発生させます:
FileNotFoundError: [Errno 2] No such file or directory: 'sample.config.json'
なぜ私のプログラムはファイルを開くことができないのかわかりません。明らかに存在するのは、os.listdir
です。実際には、ループ内のprint(config)
はその名前のファイルがあることを確認します。だからなぜそれが開きませんし、代わりにFileNotFoundErrorを発生させるでしょうか?
私はここで明らかに欠場しますか?ファイルを上に移動する前にコードが機能しました。 Windows 7のPycharmと一緒に作業していますが、これは関連性があります。
はい、明らかなものがありません。その名前のファイルは存在しますが、適切なパスを使わずにファイルの名前を 'open()'に渡すだけです。 –
関連していませんが、['os.path.join()'](https://docs.python.org/3/library/os.path.html#os.path.join)の使用に慣れてください。パスを構築する。 – Tomalak
ありがとう、私はパスなどを再構築するときにそれを逃した。 – Domino