【发布时间】:2021-04-19 14:11:10
【问题描述】:
在一个目录中,我可以有多个文件,以一个例子...
chunk26.4ec7e9b2.json
{
"/css/app.css": "/css/app.css?id=0f487b3ea1da478a47ce"
}
chunk57.9bc6ea1f.json
{
"/js/app.js": "/js/app.js?id=f3eda47538cccd3ab358",
"/js/empresa.js": "/js/empresa.js?id=2e389af5c75f398c7c97",
"/js/passwordreset.js": "/js/passwordreset.js?id=2f48c7b9a250fb573381",
"/js/prelogin.js": "/js/prelogin.js?id=4835300bf9075df04126"
}
如何将这些文件合并为一个有效的 json 文件,记住我可以有 N 个文件,它们的名称可以是任何东西,但总是带有 json 扩展名,这个结果将保存在当前目录中。
预期结果
{
"/js/app.js": "/js/app.js?id=f3eda47538cccd3ab358",
"/js/empresa.js": "/js/empresa.js?id=2e389af5c75f398c7c97",
"/js/passwordreset.js": "/js/passwordreset.js?id=2f48c7b9a250fb573381",
"/js/prelogin.js": "/js/prelogin.js?id=4835300bf9075df04126",
"/css/app.css": "/css/app.css?id=0f487b3ea1da478a47ce"
}
重要的是最后一行不能有逗号。
由于我还在学习python,所以我得到了一部分,至少我可以看到每一行
import glob;
files=[];
for filename in glob.glob("*.json"):
print(filename);
files.append(filename);
print(files);
for filename in files:
with open(filename, "r") as a_file:
for line in a_file:
print(line)
...但我真的不知道这是否是达到预期效果的最实用或最实用的方法
【问题讨论】:
-
你能读取json文件,合并它们并放入一个新的json文件吗?
-
是的,但是仅仅合并是不够的,因为在这个新文件中你不能有两组键,最后一行不能有逗号
-
如果文件中有重复键,您希望发生什么?检查
json模块。逐个文件读取并组合成一个字典然后转储到文件中不会在最后一个之后产生逗号。 -
看起来你使用python3,但你的问题被标记为
python-2.7- 为什么? -
因为我用的是2.7版本,不能换其他版本
标签: python json python-2.7