# -*- coding: utf-8 -*-
import json
from pprint import pprint
drink_list = [23,601,633,673,607,662,6622,6014,6104,615,038,606,607,627,6094]
filename = (r'C:\Users\desktop\pizza\123template.json')
with open(filename, 'r') as f:
data = f.read()
try:
template = json.loads(data)
except Exception:
# this file can also be here
print('json exception')
raise
for output in drink_list:
print(output)
temp = template.copy()
temp["meta"]["sodanumber"] = output
with open(r'C:\Users\desktop\pizza\123\{}.json'.format(output, indent=40), 'w', encoding='cp1252') as f:
data = json.dumps(temp)
f.write(data)
# pprint.pprint(temp, width=60)
IndentationError:unindent 与任何外部缩进级别不匹配。
但我认为这不仅仅是一个简单的缩进。我可以让控制台更改格式,但需要在实际输出文件中更改格式。但是我应该在哪里将附加格式添加到“打开”行中?
已经阅读了 4 个小时的相关材料和简单的示例,但是 pprint 完成了大部分工作吗?
当前的输出是大量工作包装文本。输出需要如下所示。我怎样才能让它看起来像这样?:
{
"meta": {
"drinkNumber": 662,
"effectiveDate": "2016-10-12 16:00:31",
"documentType": "checkout-device"
},
"documents": [
{
"code": "Checkout2",
"name": "Printer 2",
"port": "COM2",
"type": "LABEL",
电流输出:
{ "meta": { "drinkNumber": 662, "effectiveDate": "2016-10-12 16:00:31", "documentType": "checkout-device" },"documents": [{
"code": "Checkout2","name": "Printer 2","port": "COM2","type": "LABEL",
import json
data = { "meta": { "drinkNumber": 662, "effectiveDate": "2016-10-12 16:00:31", "documentType": "checkout-device" },"documents": [{ "code": "Checkout2","name": "Printer 2","port": "COM2","type": "LABEL"}]}
json.dumps(data, sort_keys=True, indent=4)
输出:
{
"documents": [
{
"code": "Checkout2",
"name": "Printer 2",
"port": "COM2",
"type": "LABEL"
}
],
"meta": {
"documentType": "checkout-device",
"drinkNumber": 662,
"effectiveDate": "2016-10-12 16:00:31"
}
}
注意:您当前的输出尚未完成。