python – 如何导入模块并更改模块内的变量值并执行它
发布时间:2020-12-16 22:47:24 所属栏目:Python 来源:网络整理
导读:我有一个模块,我需要导入并更改该模块的导入实例中的特定变量值,然后执行它. 请注意,由于遗留原因,我无法对导入的模块进行任何更改. 这是我想要做的: 说我要导入的模块,a.py,看起来像 var1 = 1var2 = 2if __name__ == '__main__': print var1+var2 现在我在
我有一个模块,我需要导入并更改该模块的导入实例中的特定变量值,然后执行它. 请注意,由于遗留原因,我无法对导入的模块进行任何更改. 这是我想要做的: 说我要导入的模块,a.py,看起来像
现在我在调用者脚本b.py中导入它.我试图导入它,更改变量var1的值,并使用runpy将其作为主程序运行,如下所示.
但这打印结果仅为3而不是预期的4. 任何其他方法来实现这一点(除了使用runpy)而不改变a.py中的任何内容?只要我没有在导入的模块中进行更改,就可以打开任何第三方模块. 我正在使用python 2.6 最佳答案
以下是我在评论中提出的具体实现:
我通过另一个文件run.py调用它.关键是让另一个像类这样的dict不受模块在导入/运行它时可能改变的变量的任何变化的影响.此字典包含要更改其值的变量.
产量
注意:这是一个快速而肮脏的实现,只是为了向您展示您可以这样做的方式.我建议通过runpy并使这段代码看起来更健壮.它现在的方式,它是一个正确的hackish定义 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |