如何在不导入文件的情况下引用另一个文件中的变量?

时间:2019-06-28 03:30:45

标签: python

如果我没记错的话,两个文件相互导入并不是很好的编码习惯。

我有文件A正在导入文件B。

文件B需要使用文件A中的变量执行操作。

文件A中的变量可以更改,并且当文件B执行操作时,它需要使用文件A中的最新变量。

最好的方法是什么?

编辑:我想直接访问变量-而不是通过第三方

2 个答案:

答案 0 :(得分:1)

使用Python shelve模块存储A中的变量,然后在启动时从B中读取搁置的db文件。该文档提供了很好的示例。

答案 1 :(得分:0)

您可以使用execfile评估Python文件的内容。

例如说这是内容vars.py

git_branch = 'feature/awesome'

然后script.py可以做到:

execfile('./vars.py')
print git_branch

当然,这只是在全局范围内进行了评估,这可能会有些危险,因此更安全的选择是传递一个字典来存储在vars.py中评估的全局变量:

vars = {}
execfile('./vars.py',vars)
print vars['git_branch']