在Python中将sys.argv纳入MySQL查询

0 投票
1 回答
1125 浏览
提问于 2025-04-16 02:23

我正在写一个程序,首先用mySQL查询数据,然后对这些数据进行排序。我希望用户能够输入“python 程序名.py mySQL查询”,然后程序能把“mySQL查询”放到程序开头的查询里。现在我遇到的问题是,sys.argv命令把输入转换成了字符串,而mySQL却不接受这个字符串。我尝试过几种方法想把sys.argv转换成名称,而不是字符串,但都没有成功。有没有什么好主意?

1 个回答

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]

我把你查询中的 sys.argv[2] 替换成了 %s,然后用格式化操作符把这个字符串格式化,第二个参数就是 sys.argv[2]。你可以在文档中了解更多关于 Python 的 格式化 操作符的内容,或者使用更新的格式化函数:

撰写回答