如何在Python程序中保存数值,实现重启后仍可读取旧值?
实现程序重启后读取旧数值的方案
首先先修正你提供的原始代码里的几个问题:
- 变量名不统一:
Fna和Fn混用会导致报错 - 缩进错误:
print(Fn)和后续代码的缩进层级不一致 - 缺少读取旧值的逻辑
要实现重启程序后读取之前保存的数值,核心思路是把数值存在本地文件里,每次启动程序先读文件,结束时把新数值写入文件。下面是完整的实现代码:
# 用来存储数值的文件路径 save_file = "favorite_number.txt" # 读取旧值 old_number = None try: with open(save_file, "r") as f: old_number = f.read().strip() if old_number: print(f"上次保存的数字是:{old_number}") except FileNotFoundError: print("还没有保存过数字") # 交互逻辑 should_print = input("Should i print? ") if len(should_print) > 0: if old_number: print(old_number) else: print("没有可打印的旧数字") # 获取新数值并保存 new_number = input("What is your favourite number? ") with open(save_file, "w") as f: f.write(new_number.strip())
代码说明:
- 程序启动时会尝试读取
favorite_number.txt文件,如果文件存在就读取里面的旧值并显示 - 当你输入内容触发打印逻辑时,如果有旧值就打印,否则提示无旧值
- 输入新数值后,程序会把它写入文件,下次重启就能直接读取到这个值
内容的提问来源于stack exchange,提问作者Mehmet Kılınçkaya
相关产品推荐
相关产品推荐

