保留下一次运行的变量的最后一个值

时间:2017-12-22 20:52:45

标签: python-3.x

x=0 
for i in range(0,9):
 x=x+1

当我第二次运行脚本时,我希望x以值9开头。我知道上面的代码不符合逻辑。 x将获得零值。我写它是为了尽可能清楚。我通过将x值保存到txt文件找到了解决方案,如下所示。但如果删除了txt文件,我将丢失最后一个x值。这不安全。有没有其他方法可以保留第二次运行的最后一个x值?

from pathlib import Path

myf=Path("C:\\Users\\Ozgur\\Anaconda3\\yaz.txt")
x=0
if myf.is_file():
 f=open("C:\\Users\\Ozgur\\Anaconda3\\yaz.txt","r")
 d=f.read()
 x=int(d) 
else:        
 f=open("C:\\Users\\Ozgur\\Anaconda3\\yaz.txt","w")
 f.write("0")
 deger=0

for i in range(0,9):
 x=x+1


f=open("C:\\Users\\Ozgur\\Anaconda3\\yaz.txt","w") 
f.write(str(x))  

f.close() 

print(x) 

2 个答案:

答案 0 :(得分:1)

没有

您无法100%防止用户删除数据。您可以采取一些步骤(例如将数据复制到其他地方,隐藏文件和设置权限),但如果有人愿意,他们可以找到删除文件的方法,将内容重置为原始值,或者做任何数量的事情来操纵数据,即使它需要拔掉硬盘驱动器并将其放在另一台计算机上。

这就是错误检查很重要的原因,因为开发人员无法做出100%可靠的假设,即现有的所有内容都处于正确的状态(特别是因为驱动器长时间磨损造成奇怪的影响)。

答案 1 :(得分:0)

您可以使用databases,它们比文件丢失的可能性更小。您可以阅读MySQL using Python

但是,这不是保存 x 值的唯一方法。您的操作系统中可以有environment variable。例如,

import os

os.environ["XVARIABLE"] = "9"

要稍后访问此变量,只需使用

即可
print os.environ["XVARIABLE"]

注意:在某些平台上,修改os.environ实际上不会为当前进程或子进程修改系统环境。