すべてのパラメータ値を持つパラメータファイルがあります。私は別の.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
です210select *
from emp.ids
where ids in (1,2,3) and
and names in ('abc','code','xyz')
どのように私は別の.pyファイルからの.pyファイル内の変数変電所を達成することができます
**は偶発的または悪意のある** SQLインジェクションに開いてあなたを残します。代わりに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文字列が検証されます。単純な揮発性交換ソリューションのための私のlookinh。 SQLの錬金術は、私は – pmv