-1

在 shell 脚本中,如果我们有类似的东西:

field1 = 22
qry="delete from table_name where id = $field1
echo $qry >> /tmp/query.ksh

在我们的文件中

delete from table_name where id = 22

我想在 python 中实现同样的目标

我应该如何在我正在做的python中实现这一点

fo = open("file","a")
fo.write(qry)

但这不起作用。

请提出正确的方法。

4

3 回答 3

1

假设您要附加到名为file.

请注意,您应该关闭您打开的文件或(在最近的 Python 版本上)使用with语句。将你的 shell 代码翻译成 Python,

field1 = 22
qry = "delete from table_name where id = {}".format(field1)
with open('/tmp/query.ksh', 'a') as of:
    of.write(qry)

请注意,在现实生活中,您不应该直接将数据插入到准备好的 SQL 语句中,因为这可能会导致 SQL 注入。

于 2012-12-12T14:33:38.213 回答
1

像你已经拥有的东西应该可以正常工作。

   field1 = 22
   qry = "delete from table_name where id = {0}\n".format(field1)
   with open('your_file', 'a') as f:
     f.write(qry)

什么具体不起作用?你所有的python代码在哪里?你只发布了 2 行你在哪里定义qry

于 2012-12-12T14:33:23.037 回答
0

您的代码正在运行,或者您可以通过执行以下操作将打印输出定向到文件:

import sys
sys.stdout = open("file","a")

field1 = 22
qry = "delete from table_name where id = {0}\n".format(field1)
print qry
于 2012-12-12T14:49:51.423 回答