2016-07-20 23 views
3

Ich schreibe ein Bereinigungsskript von einer unserer Anwendungen und ich brauche ein paar Variablen aus einer Python-Datei in einem separaten Verzeichnis.Importieren von Variablen aus Python FilePath

Jetzt normalerweise würde ich gehen:

from myfile import myvariable 
print myvariable 

Dies gilt jedoch nicht außerhalb des Verzeichnisses für Dateien arbeiten. Ich möchte eine gezieltere Lösung als:

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

Da dieses Verzeichnis viele andere Dateien hat, leider ist es nicht wie module = __import__('/path/to/myfile.py') Werke entweder scheinen. Irgendwelche Vorschläge. Ich verwende Python 2.7

EDIT Dieser Weg ist leider ein String von os.path.join(latest, "myfile.py")

Antwort

2

Sie eine gezieltere Import tun können, das imp Modul. Während es einige Funktionen hat, fand ich die einzige, die mir Zugriff auf interne Variablen gab, war 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 
...