2016-07-20 64 views
3

我正在從我們的應用程序之一編寫一個清理腳本,我需要一個python文件在一個單獨的目錄中的幾個變量。從Python FilePath導入變量

現在通常我會去:

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")

回答

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 
...