从Python FilePath导入变量

时间:2016-07-20 19:01:40

标签: python python-2.7 python-import

我正在从我们的某个应用程序编写一个清理脚本,我需要一个python文件中的一些变量放在一个单独的目录中。

现在通常我会去:

from myfile import myvariable
print myvariable

但是,这对目录之外的文件不起作用。我想要一个比以下更有针对性的解决方案:

sys.path.append('/path/to/my/dir)
from myfile import myvariable

由于这个目录有很多其他文件,不幸的是它看起来不像module = __import__('/path/to/myfile.py')。有什么建议。我使用的是python 2.7

编辑,不幸的是,这条路径来自os.path.join(latest, "myfile.py")

1 个答案:

答案 0 :(得分:2)

您可以使用imp模块进行更有针对性的导入。虽然它有一些功能,但我发现唯一允许我访问内部变量的是load_source

import imp
import os

filename = 'variables_file.py'
path = '/path_to_file/'

full_path = os.path.join(path_to_file, filename)

foo = imp.load_source(filename, full_path)

print foo.variable_a
print foo.variable_b
...