Недавно я переместил свои файлы конфигурации в другую папку в моем проекте. Я пытаюсь загрузить подобные этим: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?
Я пропустил очевидное здесь? Код работал до того, как я переместил файлы вверх. Я работаю с Pycharm на Windows 7, если это имеет какое-то значение.
Да, вам не хватает чего-то очевидного. Файл этого имени существует, но вы просто передаете имя файла 'open()' без правильного пути. –
Несвязанный, но вы должны привыкнуть использовать '' os.path.join() '] (https://docs.python.org/3/library/os.path.html#os.path.join) строить пути. – Tomalak
Спасибо, я пропустил это, когда прокладывал путь и т. Д. – Domino