0

変数名の辞書があり、それらを別のスクリプトの変数名にしたいと考えています。そのため、おそらく Python スクリプト内のすべての変数を識別し、それらを辞書から目的の変数に置き換える必要があります。しかし、それを行うための最もエレガントな方法が何であるかはわかりません。1 つのスクリプトを文字列として、置換を行う他のスクリプトに貼り付ける必要がありますか? 任意のヒント?ありがとう編集:実際の質問は、スクリプト内のどの単語が実際に変数であるかを特定する可能性があるかどうかを尋ねるのではなく、完全な解決策を要求することではありません。これらを見つけることは可能ですか?たとえば、それらを PythonBuiltIn 変数と比較しますか?!

4

3 に答える 3

1

別のモジュールの辞書を使用してグローバル変数を割り当てるには:

from other_module import desired_dictionary

if __name__=="__main__":
   import this_module

   for name, value in desired_dictionary.items():
       setattr(this_module, name, value)
于 2012-06-08T21:02:56.630 に答える
1

Python は Python を読むことができます。したがって、最初のスクリプトを参照し、正規表現を使用して正しい記号を置き換える辞書を使用してスクリプトを作成します。変更したいファイルを in ファイルにして読み込み、編集し、1 行ずつ .py ファイルに書き戻します。

必要な場合に備えて、Python でのファイル I/O に関するドキュメントを参照してください。

http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files

于 2012-06-08T20:38:23.970 に答える
1

ここでは、変数をスクリプト内の「=」文字の前にある最後の単語として単純に識別することにしました。(それは意味がありますか?)私は使用します

line.split("=")[0].split(" ")[-1]

NKamrath によって提案されたように、スクリプトを開いた後にそれらの単語を識別するには

f = open('replaceme.py')
f.readlines()

これまで助けてくれてありがとう!

于 2012-06-08T21:05:04.870 に答える