诉求:把乱七八糟的json文件,改成规范的、易于阅读的txt文档。
解决方法:
打开文件,加载数据:
import json
path = r'B:\我的游戏\天涯明月刀\游戏资料(天涯明月刀)\[解压后使用]天刀茶话会答题器v1.2.0\tiku.json'
with open(path, "r", encoding='utf-8') as file:
data = json.load(file)
print(data)
数据如下:
{'a': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'c': ['春色满园关不住', '万紫千红总是春', '草长莺飞二月天', '最是一年春好处', '春在溪头荠菜花', '阳春布德泽', '东风随春归', '锦江春色来天地', '深锁春光一院愁', '草树知春不久归', '秀靥艳比花娇', '青春须早为', '犹是春……
观察一下数据的结构,提取想要的内容:
# 10人茶话会资题库
a = data['a10']
print(a)
结果如下:
[{'a': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'c': ['映日荷花别样红', '千朵万朵压枝低', '山寺桃花始盛开', '唯有牡丹真国色', '却道海棠依旧', '我花开后百花杀', '山青花欲燃', '梅落繁枝千万片', '乱红飞过秋千去', '一日看尽长安花', '病树前头万木春',
'燕山雪花大如席', '隔江犹唱后庭花', '花细委地无人收']……
修改内容,并且保存为txt文件。
tiku = []
count = 0
p = r'B:\我的游戏\天涯明月刀\游戏资料(天涯明月刀)\天刀10人茶话会.txt'
# 写入txt文件
with open(p, "w") as file:
for item in a:
# 问题
question = item['q']
# 选项
text = item['c']
count = count + 1
print(f'{count}.{question}')
file.write(f'{count}.{question}')
file.write("\n")
text_dui = [f'{i+1}.{wenzi}' for i, wenzi in enumerate(text[0:10])]
text_cuo = [f'{i+1}.{wenzi}' for i, wenzi in enumerate(text[-4:])]
print(f'正确: {text_dui}')
file.write(f'正确: {text_dui}')
file.write("\n")
print(f'错误: {text_cuo}')
file.write(f'错误: {text_cuo}')
file.write("\n")
print()
file.write("\n")
关键函数:
1.打开文件。
with open(p, "w") as file
2.保存内容。
file.write(f'{count}.{question}')
3.保存空行。
file.write("\n")
4.载入json数据。
data = json.load(file)
保存好的txt文件是这样的:
1.以下含有“花”的诗句有哪些?
正确: ['1.映日荷花别样红', '2.千朵万朵压枝低', '3.山寺桃花始盛开', '4.唯有牡丹真国色', '5.却道海棠依旧', '6.我花开后百
花杀', '7.山青花欲燃', '8.梅落繁枝千万片', '9.乱红飞过秋千去', '10.一日看尽长安花']
错误: ['1.病树前头万木春', '2.燕山雪花大如席', '3.隔江犹唱后庭花', '4.花细委地无人收']
2.以下哪些诗句跟“月亮”有关?
正确: ['1.海上生明月', '2.半轮鸡唱五更残', '3.露似珍珠月似弓', '4.江清月近人', '5.清风明月本无价', '6.海上明月共潮生',
'7.今月曾经照古人', '8.皎如飞镜临丹阙', '9.举头望明月', '10.月光长照金樽里']
错误: ['1.为君持酒劝斜阳', '2.白银盘里一青螺', '3.浮云一别后', '4.明珠交玉体']
3.以下含有“云”的诗句有哪些?
正确: ['1.白云深处有人家', '2.黄河远上白云间', '3.孤云独去闲', '4.朝辞白帝彩云间', '5.秋风起兮白云飞', '6.野径云俱黑',
'7.苍茫云海间', '8.云深不知处', '9.云生结海楼', '10.中峰见孤云']
错误: ['1.香雾云鬟湿', '2.云雨巫山枉断肠', '3.云母屏风烛影深', '4.金风玉露一相逢']
……