gpt4 book ai didi

python - Python 交叉模块中的全局变量

转载 作者:太空宇宙 更新时间:2023-11-04 05:15:51 24 4
gpt4 key购买 nike

我有两个 Python 模块:

  • 一个.py;和
  • two.py

我想在 two.py 中更改 X 全局变量。脚本 two.py 正在运行。在我运行 one.py

之后

one.py

#!/usr/bin/env python

import two

def main():
two.function("20")

if __name__=="__main__":
main()

two.py

#!/usr/bin/env python

X="10"
def main():
while True:
function()
time.sleep(0.25)

def function(input="00"):
if(input!="00"):
global X
X=input
print "change"

print X
if __name__=="__main__":
main()

控制台:

sudo python two.py

10
10
10
10

after I run one.py but no change in two.py

最佳答案

after I run one.py but no change in two.py

您正在做的动态会改变变量。它不会重写文件。

这实际上是您可能想要做的。

myfile.txt

5

reader.py

with open('myfile.txt', 'r') as fp:
nb = int(fp.read())
print(nb)

writer.py

with open('myfile.txt', 'w') as fp:
fp.write('6')

现在,如果您运行 reader.py,它将输出 5。然后,如果您运行 writer.py,它不会输出任何内容,只是将 myfile.txt 的全部内容替换为 6。然后,重新运行reader.py,它会输出6,因为文件的内容已经改变了。它之所以有效,是因为与您运行的程序不同,文件的内容不依赖于进程,它是“静态的”。

关于python - Python 交叉模块中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41707066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com