2016-08-01 8 views
0

Ich versuche, in Variable SQL-Anweisung aus einer anderen Datei, die ich importierte zuweisen. Anderer Dateiname: Table1.py enthält variable SQL="Select * from column1" Meine aktuelle Skript:Assign in Variablenwert von importierten Datei

#!/usr/bin/python 

datefrom = raw_input("Please enter date from YYYY-MM-DD: ") 
dateto = raw_input("Please enter date to YYYY-MM-DD: ") 
tablename = raw_input("Please enter tablename: ") 
__import__(tablename) 
var= '%s.SQL' % tablename 
print var 

Alles, was ich habe ist: "Table1.SQL"

So importierte ich ersten Tabellennamen, den ich als Eingang bekam und dann versuchen, den Variablenwert "var" der Variablen "SQL" aus der Datei Table1.py zu übernehmen. Natürlich möchte ich, dass es ziemlich dynamisch bleibt, denn es wird mehr als eine SQL-Datei geben.

Was mache ich falsch?

Antwort

2

Während Sie Module zur Laufzeit laden, müssen Sie das Modulobjekt in einer Variablen speichern und dann normal auf seine Variablen zugreifen.

table_module = __import__(tablename) 
table_sql = table_module.SQL 
print table_sql 

Nun, wenn Sie die Anweisung ändern möchten, können Sie nur einfache String-Manipulation in table_sql variabel.

+0

Danke, es funktioniert – maciek2791