2016-08-03 32 views
-1

使用變量:從我有這個問題的一些其他Python文件

我有兩個文件:隨機random2

隨機有這樣的:

import random2 
    print(random2.verb_list) 
    print(random2.x) 

random2有這樣的:

verb_list = ['x', 'y', 'z'] 
    other_list = ['1', '2', '3'] 
    something_else = False 

    def Main(): 
     global x 
     x = 1 
     print(verb_list) 
    if __name__ == "__main__": 
     Main() 

當我隨機運行時,它給了我這個錯誤:

AttributeError: module 'random2' has no attribute 'x' 

有沒有辦法讓我可以隨意調用變量x? 我有python3

+1

嘗試在你的函數外實際聲明'x' –

+0

[python使用另一個文件中的變量]可能的重複(http://stackoverflow.com/questions/14573021/python-using-variables-from-another-file) –

+0

@WayneWerner我已經嘗試過,它的工作原理。但我想要做的是更改函數中的x值。可能嗎? – luistripa

回答

2

直到Main()函數運行時纔會創建變量x。導入模塊意味着__name__未設置爲__main__,因此該功能從不執行。

您必須執行Main()函數。在導入行之後,將random2.Main()放置在文件random.py中。

名稱random是模塊的名稱很差,因爲它與標準python random模塊相沖突。它可以產生意想不到的副作用。

+0

對不起,關於文件名......這是我頭上的第一件事。無論如何,它的工作! – luistripa

相關問題