2017-02-21 3 views
-1

いくつかの変数の値を保存し、後でそれを別のモジュールの別の関数で使用することはできますか?例Pythonで変数の値を保存する

#file1.py 

def function1(): 
    a = raw_input("Type: ") 
    return a 

#file2.py 
import file1 

def function2(): 
    x = file1.function1() 
    if x == '5': 
     print "True" 
    else: 
     print "False" 

ため このfile1.pyは私のプログラムの一部であると、後に別のモジュールに私は「」ではなく、それは私を印刷していることのの、特定の以前に入力された値を使用したい「タイプ:」繰り返し 私はその価値を何度も必要とするので、私は値を入力してからプログラムを続けるように求めないようにします。 実際には、値を1回入力してから覚えておき、後で特定の関数を呼び出すことで数回使用する必要があります。

+0

....なぜ、 'function1'によって返された値を変数に保存しませんか?もちろん、それは毎回入力を促します**、**あなたがそれを書いたものです**。 –

+0

あなたはすでに変数xの値をxに保存しています。これでxを使うことができます。 –

+0

@ juanpa.arrivillaga私は初心者です。申し訳ありません変数に保存する方法はどういう意味ですか? – Anoo

答えて

0

私は、shelveモジュールを使用して変数を保存することをお勧めします。これは、私が以下のコードで開いたのと同じ方法でfile2.pyで開くことができます:

import shelve 

def save_variable(save): 
    file = shelve.open('variable_a' , 'n') 
    file['a'] = save 
    file.close() 

def load_variable(): 
    file = shelve.open('variable_a' , 'r') 
    load = file['a'] 
    file.close() 
    return load 

def function1(): 
    try: a = load_variable() #Try load the variable from file 
    except: #Doesnt exist - so we create it here 
     a = raw_input('Enter the var here: ') 
     save_variable(a) 
    return a 

print function1()  
関連する問題