【问题标题】: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


【解决方案1】:

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

这里有关于 python 文件 I/O 的文档,以备不时之需:

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

【讨论】:

    【解决方案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()
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多