mysql导出数据库是空白的_什么原因subprocess.call尝试用mysqldump导出数据库时输出空白文件?...

在Windows7环境下使用Python3.1,通过subprocess.call调用mysqldump导出数据库时,出现生成空文件的问题。尽管命令在CMD提示符下直接运行能够正常工作。博主怀疑问题可能出在Python代码的参数传递上,尤其是shell=True的使用。作为Python新手,博主正在寻求解决方案。
摘要由CSDN通过智能技术生成

我在使用subprocess.call使用mysqldump导出数据库。我使用的是安装在Windows7上的Python3.1。在from time import gmtime, strftime

import subprocess

DumpDir = "c:/apps/sqlbackup/";

DumpFile = "mysqldump-" + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) + ".sql";

params = [r"mysqldump --user root --password=mypassword --force --flush-privileges --compress --comments mydatabase --result-file=" + DumpDir + DumpFile];

subprocess.call(params, shell=True);

上面的代码导致在DumpDir中创建一个空白文件。在

我尝试让python打印该命令,以便可以通过CMD提示符使用以下命令进行测试:

^{pr2}$

如果我将输出粘贴到CMD提示符并执行它,一切正常。在

有什么想法吗?在

我是Python新手,所以我确信答案很简单,但是我尝试了很多不同的方法来实现这一点,以至于我无法理解。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值