吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1305|回复: 7
收起左侧

[求助] Python多次写入字典的问题

[复制链接]
Traitor 发表于 2022-3-11 21:17
25吾爱币


具体实现,就是这样写只能写入一次数据,我想的就是怎么样去实现去持续写入数据?
我试过多次写入但是会覆盖原有字典的数据

最佳答案

查看完整内容

[mw_shl_code=python,true]def addInfo(): num = input('请输入要录入的人数:') if num.isdigit(): for i in range(int(num)): data = {} data['姓名'] = input('学生姓名\n') data['性别'] = input('性别\n') # ... with open('StudentInfo.json','a+') as f: f.write(json.dumps(data, ensure_ascii=False, indent=2) + ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

luyers 发表于 2022-3-11 21:17
[Python] 纯文本查看 复制代码
def addInfo():
    num = input('请输入要录入的人数:')
    if num.isdigit():
        for i in range(int(num)):
            data = {}
            data['姓名'] = input('学生姓名\n')
            data['性别'] = input('性别\n')
            # ...
            with open('StudentInfo.json','a+') as f:
               f.write(json.dumps(data, ensure_ascii=False, indent=2) + '\n')
        print('录入完毕!')
    else:
        addInfo()
xian54966 发表于 2022-3-11 21:50
对open函数的理解有误。第二行没必要也用得不对。open的w模式从头开始写文件,有内容则覆盖。这就是只有一次的原因,因为再写的都覆盖了。open要搭配F.close()使用。而使用with open则不需要。3楼的代码值得你学习

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Traitor + 1 + 1 我很赞同!

查看全部评分

 楼主| Traitor 发表于 2022-3-11 21:58
xian54966 发表于 2022-3-11 21:50
对open函数的理解有误。第二行没必要也用得不对。open的w模式从头开始写文件,有内容则覆盖。这就是只有一 ...

其实我是想使用2行的代码来创建一个文件,但是后来看了一下好像 a+ 也可以直接创建。谢谢提醒.
doglove 发表于 2022-3-11 22:14
支持 ,学习学习。
傅粉何郎 发表于 2022-3-12 09:14
学习来了,学编程还得看吾爱破解,哈哈哈
lypxynok 发表于 2022-3-12 09:39
with open会自动关闭文件流,利用了上下文管理器
移情√似水 发表于 2022-3-12 11:03
学习了。参数的理解
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 16:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表