簡體   English   中英

Python:從另一個文件訪問模塊中的變量

[英]Python: access a variable in a module from another file

我想在另一個 python 文件中訪問 var1 和 var2,我將在另一個函數中使用這些變量。 我該怎么做呢?

文件1.py

def main(x):
    var1 = "link"
    var2 = "email"

文件2.py

from file1 import var1, var2
class test:
    def get_email(self):
        return var2
    def get_link(self):
        return var1

如果要在單獨的模塊中使用這些變量,則需要在頂層擁有這些變量。

var1 = ....
var2 = ....

def main(x):
    ....

這是因為函數內部的變量是該函數的局部變量,只能在其中訪問。

如果您只想在頂層聲明變量但在函數內分配 -

var1 = None
var2 = None

def main(x):
    global var1
    global var2
    # assign here

但是請記住,在函數中賦值的變量只會反映的變化,如果該函數被調用。 導入模塊不會自動調用該函數,除非在導入模塊的頂層調用該函數 -

var1 = None
var2 = None

def main(x):
    global var1
    global var2
    # assign here

# x should be defined prior to this
main(x)

要從另一個文件導入變量和方法,您需要將文件夾中的init .py 和main .py 初始化為空文件。 之后,您可以聲明要在頂部(最外層命名空間)導入的變量或從函數返回它們

py

myVar = 1
myString = “help”

def get_variables():
    myVar = 1
    myString = “help”
    return myVar, myString

B.py(第一種方式)

from A import myVar, myString

B.py(第二種方式)

from A import get_variables
myVar, myString = get_variables()

暫無
暫無

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

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