У меня есть файл параметров со всеми значениями параметров. Я хочу передать эти значения в другой .py (файл необработанного SQL) и сгенерировать исполняемый файл SQL Вот то, что я до сих порподстановка параметров из одного .py-файла в другой .py-файл
params.py файл
var1 = '1,2,3'
var2 = '('abc', 'cde', 'xyz')'
rawsql.py
import params
select *
from emp.ids
where ids in var1
and names in var2
выход Я ожидаю, что это .sql файл
exec_sql_file.sql
select *
from emp.ids
where ids in (1,2,3) and
and names in ('abc','code','xyz')
Как я могу выполнить переменную подстанцию в .py файл из другого файла .py
делая это с помощью простых строковых замен оставит вас открыты для случайного или злонамеренного ** SQL Injection **. Вместо этого используйте библиотеку, такую как SQLAlchemy, или посмотрите на это http://stackoverflow.com/questions/1633332/how-to-put-parameterized-sql-query-into-variable-and-then-execute -in-python – slezica
Кажется, что лучше использовать хорошее решение для шаблонов, что-то вроде jinja http://jinja.pocoo.org/ – user590028
строка sql будет проверена перед исполнением. im lookinh для простого решения замены varisble. sql alchemy не работает с базами данных, с которыми я работаю с – pmv