在使用JSON模块保存用户生成的数据中,我们将因此获得许多方便之处。在我们日常使用idle测试新代码或者使用Pycharm时,我们尝尝会发现我们所用的数据只能临时存储,并不能在下一次调用他,除非把他存储为一个文件。
下面我们来看这样一个例子:
提示用户首次运行程序的时候输入自己的名字,并在再次运行程序时记住他。
代码实现:
先来存储用户的名字:
csdn:一个兴趣使然的程序猿罢了
import json
username = input('你谁啊???n')
filename = 'numbers.json'
with open(filename,'w') as f:
json.dump(username,f)
print(f"我记住你了嗷,小子,你就叫{username}是吧,给我等着")
>>> 你谁啊???
>>>一个兴趣使然的程序猿罢了
>>>我记住你了嗷,小子,你就叫一个兴趣使然的程序猿罢了是吧,给我等着
在上一节中已经讲过json.dump()和json.load()的用法,不太懂的童鞋可以参考存储数据与JSON
我们再来编写一个程序,向已存储了名字的用户发出问候:
csdn:一个兴趣使然的程序猿罢了
import json
filename = 'numbers.json'
with open(filename,'r') as f:
username = json.load(f)
print(f"小子回来了嗷,我知道你谁,{username}是吧?")
>>>小子回来了嗷,我知道你谁,一个兴趣使然的程序猿罢了是吧?
最后,我们意念合一!啊不对,不是,串场了,我们合二为一!
CSDN:一个兴趣使然的程序猿罢了
import json
filename = 'numbers.json'
try:
with open(filename, 'r') as f:
username=json.load(f)
except FileNotFoundError:
username = input('你谁啊???n')
with open(filename, 'w') as f:
json.dump(username, f)
print(f"我记住你了嗷,小子,你就叫{username}是吧,给我等着")
else:
print(f"小子回来了嗷,我知道你谁,{username}是吧?")



