Chcę wiedzieć, czy możliwe jest zadeklarowanie lub zdefiniowanie wartości (zawierających zmienne niereclared) na jednym skrypcie Pythona, a następnie używać ich na drugim skrypcie z zmiennymi lokalnymi. Na przykład:

Na parametrach skryptów.py.

QUERY_STRING = "SELECT * FROM " + table

Na skrypcie run.py.

import PARAMETERS.py
table = "myTable"
db.execute(PARAMETERS.QUERY_STRING)

Oczywiście, mam kilka linii, ale ilustruję tylko to, co chcę zrobić. Dziękuję Ci.

1
Andres 13 sierpień 2014, 16:03

2 odpowiedzi

Najlepsza odpowiedź

Nie.

Co próbujesz zrobić, to NameError w Pythonie. Jednak to, co możesz zrobić, to zdefiniować liczbę strun formatowania i wykonać formatowanie w skrypcie.

W config.py.

FOO = 'SELECT * FROM {table}'

W Doit.py.py.

import CONFIG
...
table = 'BAR'
db.execute(CONFIG.FOO.format(table=table))
0
Tritium21 13 sierpień 2014, 15:20

Krótka odpowiedź Tak (chociaż muszę powiedzieć, że nie mogę zobaczyć, dlaczego chcesz to zrobić) Możesz importować parametry z innego modułu, jak to zrobiłeś, ale tak:

Jeśli masz plik PARAMETERS.py w bieżącym folderze.

from PARAMETERS import QUERY_STRING

A następnie użyj go w kodzie, problem polega na tym, że Nie można użyć parametru nazwy tabeli w metodzie Execute , będziesz musiał użyć:

db.execute("SELECT * FROM myTable")
0
Kobi K 13 sierpień 2014, 12:11