0

我有一个变量名字典,我希望它们成为另一个脚本中的变量名。因此,我可能需要识别 Python 脚本中的所有变量,然后以某种方式将这些变量替换为字典中所需的变量。然而,我无法弄清楚什么是最优雅的方式来做到这一点。我是否必须将一个脚本作为字符串粘贴到进行替换的另一个脚本中?有小费吗?谢谢 编辑:实际问题不是要求一个完整的解决方案,而是询问是否有可能识别脚本中的哪个单词实际上是一个变量。是否有可能找到这些,例如将它们与 PythonBuiltIn 变量进行比较?!

4

3 回答 3

1

Python可以读取python。因此,使用该字典编写一个脚本,查看您的第一个脚本并使用正则表达式替换正确的符号。将要修改的文件制作成 in 文件并读取、编辑并逐行写回 .py 文件。

这里是关于 python 中文件 I/O 的文档,以防万一你需要它:

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

于 2012-06-08T20:38:23.970 回答
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

我现在选择简单地将变量标识为脚本中“=”字符之前的最后一个单词。(这有意义吗?)我用

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

按照 NKamrath 的建议打开脚本后识别这些词

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

非常感谢到目前为止的帮助!

于 2012-06-08T21:05:04.870 回答