2017-05-01 3 views
2

私はこのようになります変数に保存されているPythonモジュールの文字列(credsを)持っている:私は「メモリ内の文字列からPythonモジュールをインポートできますか?

MY_API_KEY = "DerP12312" 
ANOTHER_KEY = "123453)" 

(わずか2よりも多くの行が、すべて同じ規則)

をそうのような別のクラスにそのモジュールの値をインポートしたいdは:

from creds import MY_API_KEY 

制限私はローカルストレージにこれらの内容を書き込むことができないことです。 (私は/n=に基づいて文字列の処理をしたくない)

これらの値をメモリから直接インポートすることはできますか?

答えて

1

うん、あなたはPythonのソースコードの文字列を実行するexec機能を使用することができます(これらの変数はグローバルに設定されますので、デフォルトでは、それが現在のスコープで実行されます):

>>> exec('MY_API_KEY = "DerP12312"\nANOTHER_KEY = "123453)"\n') 
>>> MY_API_KEY 
'DerP12312' 
>>> ANOTHER_KEY 
'123453)' 
+0

これは完全に働きました。私はインポートされたファイルの内容を制御するので、コード内でexecを許可するという心配はありません。 –

+0

クール。ファイルの内容を制御する場合は、INIのような構成ファイル形式(['configparser'](https://docs.python.org/3/library/configparser.html)経由)を使用することを検討することもできます。 –

関連する問題