2016-07-20 3 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

EDIT, этот путь, к сожалению, строка из 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 
... 
Смежные вопросы