我需要從Python 2.4運行MySQL查詢,但我無法下載/安裝Python的任何模塊。從Python 2.4運行MySQL查詢,但沒有安裝模塊(MySQLdb)
我無法下載的原因是因爲這個腳本將在服務器上運行(RedHat),我們的客戶不會讓我們下載和安裝任何東西。
我一直在嘗試使用subprocess
,但我使用的查詢是給我一個syntax error
。
如果我從查詢瀏覽器運行它,但在子進程命令[]
中添加引號和逗號使得事情有點令人困惑,該查詢在Python之外工作。
我試圖運行的命令如下:
subprocess.call(['mysql', '-D DB', '--user="user"', '--password="password"', '-e', '"SELECT cu, control_name FROM PresetProfile WHERE NOT cu='' AND NOT control_name='' INTO OUTFILE '/directory/for/output.file' FIELDS TERMINATED BY ':' LINES TERMINATED BY '\n';"', shell=True])
語法錯誤我馬上FIELDS TERMINATED BY
後:
之前獲得積分的單引號。
File "<stdin>", line 1
subprocess.call(['mysql', '-D DB', '--user="user"', '--password="password"', '-e', '"SELECT cu, control_name FROM PresetProfile WHERE NOT cu='' AND NOT control_name='' INTO OUTFILE '/directory/for/output.file' FIELDS TERMINATED BY ':' LINES TERMINATED BY '\n';"', shell=True])
^
SyntaxError: invalid syntax
一旦我得到這個輸出文件的創建,我可以停止使用子並回到普通文件處理。
正如您在您的問題中看到的(請參閱語法突出顯示),有一個引用問題 – 2014-10-06 15:08:06
我會給[commands](https://docs.python.org/2/library/commands.html)嘗試運行MySQL命令 – 2014-10-06 15:09:56
您有使用Python的原因嗎?一個簡單的bash腳本將會更容易逃脫。 – 2014-10-06 15:12:41