2016-08-18 22 views
0

我想要在一個文件中給出的原始輸入用於另一個文件。 爲此,我在global_dec.py文件中定義了所有變量。然後在main_file.py修改這些變量的值,當我在另一個文件打印這些變量partfile.py然後有整型和字符串值,得到了修改,但原始輸入不給在main_fily.py如何在Python中與另一個文件共享一個文件中給出的原始輸入

代碼給定值的變量是如下:

global_dec.py:

class common(object): 

    a=0 
    x="x inside global class " 
    y=raw_input(" enter input for the global class: ") 

main_file.py:

from global_dec import common 

    common.x = " x changed inside main file " 
    common.a=1 

    def dummy(): 
    print "dummy" 

    def main(): 
    print " main" 

    if __name__ == '__main__': 
    main() 

partfile.py:

from global_dec import common 

def main(): 

    print "x: "+common.x, " y: "+common.y, " a: "+str(common.a) 

if __name__ == '__main__': 
    main() 

回答

0

如果我解釋你的問題的權利,你希望能夠做到以下幾點...

$ python main_file.py 
enter input for the global class: something 
main 
$ python partfile.py 
enter input for the global class: something else 
x: x inside global class y: something else a: 0 

如果這是不可能的情況下,因爲蟒蛇過程結束,存儲在應用程序的內存中的所有值都將被丟棄。將main_file.py中的main函數更改爲與partfile.py中的函數完全相同,您將看到即使xa值可能也會更改,但它們不會持續。在運行python進程之間建立持久數據的唯一方法是使用數據庫。

可能顯示的更好的方式是,你main_file.py看起來是這樣的...

from global_dec import common 

common.x = 'i have changed' 
common.a += 1 

def main(): 
    print "x: " + common.x + " a: " + str(common.a) + " y: " + common.y 

然後運行它兩次,它應該是這樣的。

$ python main_file.py 
enter input for the global class: blah 
x: I have changed a: 1 y: blah 
$ python main_file.py 
enter input for the global class: blah 
x: I have changed a: 1 y: blah 

通知a將始終是1,因爲當在該過程開始時導入它是0,那麼遞增到1,並且當該過程結束變量從存儲器轉儲。我希望這可以幫助

+0

謝謝你的信息。 – vivek

相關問題