首页 > 解决方案 > 如何避免错误“没有这样的文件”和升级代码

问题描述

我尝试这样做:

jsons = [json.load(open(f'this_folder/{folder}/data.json')) for folder in os.listdir('this_ folder')]

但并非 this_folder 中的所有文件夹都包含 data.json,并且出现错误:

FileNotFoundError:[Errno 2] 没有这样的文件或目录:'this_folder/3634575b59e/data.json'

如何避免或忽略此消息?谢谢!!!

标签: pythonjsonpandaspath

解决方案


您可以try...except像这样使用符号:

jsons = []
for folder in os.listdir('this_ folder'):
    try:
        jsons.append(json.load(open(f'this_folder/{folder}/data.json'))
    except FileNotFoundError:
        pass

但我真的建议在打开文件后关闭它们:

jsons = []
for folder in os.listdir('this_ folder'):
    try:
        json_file = open(f'this_folder/{folder}/data.json')
        jsons.append(json.load(json_file)
        json_file.close()
    except FileNotFoundError:
        pass

推荐阅读