FileNotFoundError:[错误2]没有这样的文件或目录:错误

时间:2019-08-05 10:24:06

标签: python file-not-found

我正在遍历许多文件夹,使用以下代码来获取每个文件夹中的任何JSON文件:

def get_all_jobs():
    for root_dir, _, file_names in os.walk(r'path'):
        for file_name in file_names:
            if file_name.endswith('.json'):
                all_files = (f'{root_dir}/{file_name}')
                for file in all_files:
                    with open(file_name, 'r', encoding="utf8") as json_file:
                        read_content = json.loads(json_file.read())

我得到这个错误:

FileNotFoundError: [Errno 2] No such file or directory:

并且没有一个路径可提供给一个文件夹,但是我有许多包含文件的文件夹。我该如何解决?

1 个答案:

答案 0 :(得分:0)

查找有关全局here的信息。 glob将转义所有内部目录并递归匹配我们的模式。

def get_all_jobs():    
    for json_file in glob.iglob(path+"/**/*.json".replace('/',os.path.sep),recursive=True):
        with open(json_file, 'r', encoding="utf8") as jf:
            read_content = json.loads(jf.read())

Note:在这里path是基本目录,您在其中有多个包含json文件的文件夹。

说明:

这里glob进入您的基本目录path,从那里递归地进入所有子文件夹,并检查是否有任何文件扩展名为.json,如果有,则给出完整的路径文件。