我希望能够在运行代码后永久更改变量

时间:2019-06-10 10:38:49

标签: python

因此,在诸如

这样的代码行中
x = 22
x = x+6
print(x)

有没有办法做到这一点,所以下次我运行代码22现在是28时,它将通过更改{{1}的值来打印34 }是永久

5 个答案:

答案 0 :(得分:1)

恐怕您必须将值读/写到文件中。

答案 1 :(得分:0)

  

下次我运行代码

如果您要下次运行脚本,则必须将值保存在文件中的某个位置。

如果您是指某种交互式工作方式,则可以:

  • 以交互模式运行Python(只需运行python解释器并导入脚本),然后输入其他命令
  • 使用IPython
  • 使用Jupyter Notebook(可能就是您想要的)

答案 2 :(得分:0)

您可以将值存储在外部文件中,并在需要时进行编辑。

x = 0
try:
    with open('data.txt', 'r') as r:
        try:
            x = int(r.read())
        except:
            pass
        r.close()
except FileNotFoundError:
    pass
x = x + 6
with open('data.txt', 'w') as w:
    w.write(str(x))
    w.close()
print(x)


答案 3 :(得分:0)

您可以创建一个文件,并将其值保存在每次计算的末尾。在程序开始时,您将尝试读取文件并将ot x的值设置为文件中存储的值。

如果文件不存在,则可以将x设置为包含当前具有的默认值22,并在计算结束时将新的x值保存到文件中

try:
    f = open("data.txt", "r")

    if f.mode == "r":
        content = str(f.read())
        x = int(content)

    f.close()
except:
    x = 22
    print("The data file has not been created as yet.")

x = x + 6

f = open("data.txt","w+")
f.write(str(x))
f.close()

print(x)

答案 4 :(得分:0)

在代码行中明确为x赋了一个值,如果不实际更改代码,就没有办法做到。分配名称是Python的基本功能,并且没有提供任何钩子来更改其行为。选中here