将sys.argv合并到python中的mySQL查询中

时间:2010-08-05 21:50:01

标签: python mysql string command-line-arguments

我正在编写一个程序,首先使用mySQL进行查询,然后对该数据进行排序。我希望能够拥有一个用户类型“python program_name.py mySQL_query”,并让程序在程序开头的查询中插入“mySQL_query”。我遇到的问题是sys.argv命令将输入​​转换为字符串,然后mySQL拒绝。我已经尝试了一些事情来将sys.argv转换为名称而不是字符串,但它们没有成功。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你的代码需要像这样的东西:

qb="SELECT DISTINCT q19_scan.array_orientation_equatorial, q19_scan.run_id, q19_scan.run_subid, q19_scan.patch_day_number, %s FROM q19_typeb NATURAL JOIN q19_scan NATURAL JOIN q19_timestream NATURAL JOIN q19_weather NATURAL JOIN q19_ces_usable WHERE " % sys.argv[2]

我已用%s替换了查询中的sys.argv [2],然后在此字符串上应用了格式化运算符,第二个操作数为sys.argv [2]。您可以在文档中阅读有关python formatting运算符的更多信息,甚至可以使用更新的格式化函数: