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