我一直在寻找如何做到这一点,但我不能。 我有一个.json文件的目录,我应该解析每个。 我知道我必须使用glob和os。 我觉得它背后的逻辑是循环遍历目录,当读取每个文件时提取所需的数据,但我找不到任何地方可以帮助我,也不知道语法。 如果它反对堆栈规则,人们认为这是我要求家庭作业的答案,我可以在别处搜索,这不是我不明白的功课。
答案 0 :(得分:5)
假设您的JSON文件以.json
扩展名命名,并且它们与您运行脚本的目录位于同一目录:
import json
from glob import glob
data = []
for file_name in glob('*.json'):
with open(file_name) as f:
data.append(json.load(f))
这将为您提供已解析的JSON对象(字典和/或列表)的列表。
如果您需要访问另一个目录中的文件,您可以像这样构建glob模式:
import os.path
pattern = os.path.join('/path/to/json/files', '*.json')
for file_name in glob(pattern):
....
答案 1 :(得分:0)
我知道这是一个古老的问题,但我一直在努力解决非常相似的问题。我最终为此编写了自己的脚本: https://github.com/tmdag/makedirtree
使用Unix'tree'命令创建目录并使用
重新创建目录更加容易pathlib.Path(s_path).mkdir(parents=True, exist_ok=True)