【问题标题】:Looking for a way to identify and replace Python variables in a script [closed]寻找一种方法来识别和替换脚本中的 Python 变量 [关闭]
【发布时间】:2012-06-12 21:58:19
【问题描述】:
我有一个变量名字典,我希望它们成为另一个脚本中的变量名。所以我可能需要识别 Python 脚本中的所有变量,然后以某种方式将这些变量替换为字典中所需的变量。然而,我无法弄清楚什么是最优雅的方式来做到这一点。
我是否必须将一个脚本作为字符串粘贴到进行替换的另一个脚本中?有小费吗?谢谢
编辑:实际的问题不是要求一个完整的解决方案,而是询问是否有可能确定脚本中的哪个单词实际上是一个变量。是否有可能找到这些,例如将它们与 PythonBuiltIn 变量进行比较?!
【问题讨论】:
标签:
python
regex
string
dictionary
replace
【解决方案2】:
使用来自另一个模块的字典分配全局变量:
from other_module import desired_dictionary
if __name__=="__main__":
import this_module
for name, value in desired_dictionary.items():
setattr(this_module, name, value)
【解决方案3】:
我现在选择简单地将变量标识为脚本中“=”字符之前的最后一个单词。 (那有意义吗?)
我用
line.split("=")[0].split(" ")[-1]
按照 NKamrath 的建议打开脚本后识别这些单词
f = open('replaceme.py')
f.readlines()
非常感谢到目前为止的帮助!