我正在遍历许多文件夹,使用以下代码来获取每个文件夹中的任何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:
并且没有一个路径可提供给一个文件夹,但是我有许多包含文件的文件夹。我该如何解决?
答案 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,如果有,则给出完整的路径文件。