[英]Python Cross file module variable modification
A.py :
X = 10
B.py :
import A
A.X = 100
C.py :
import A
Print("A.X = ",A.X)
如果我先執行B
然后執行C
,則得到AX = 10
。 但是模塊B
在X
上所做的更改又如何呢? 為什么更改未反映在模塊C
?
Python腳本在具有單獨進程,內存,命名空間等的單獨shell中運行。在腳本中修改模塊屬性是一項內存中操作:它不會影響從中加載模塊的文件:
$ python B.py
這會創建一個python過程中,加載B.py
,然后A.py
,並修改對應於模塊的名稱空間的字典A
。 然后該過程將結束,丟失所有您未寫入磁盤的內容。
$ python C.py
這會創建一個python過程中,加載C.py
,然后A.py
,和來自新讀入模塊的字典打印新加載的值A
。 這將是文件A.py
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.