簡體   English   中英

Python跨模塊中的全局變量

[英]Global Variable in Python cross module

我有兩個 Python 模塊:

  • one.py ;
  • two.py

我想在運行的two.py .Script two.py更改X全局變量。 在我運行one.py

一個.py

#!/usr/bin/env python

import two

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

if __name__=="__main__":
    main()

兩個.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

在我運行 one.py 但在 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 ,因為文件的內容已更改。 它之所以有效,是因為與您運行的程序不同,文件的內容不依賴於進程,它是“靜態的”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM