我需要从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