1
@cost_time
def dbdump_all():
"导出数据库所有数据至当前目录下以年月日命名的sql文件"
filename=datetime.datetime.now().strftime("%Y-%m-%d")
cmd="""mysqldump -u root -pzhoubt --opt --quick --database search > ./%s.sql"""%filename
args=shlex.split(cmd)
p=subprocess.Popen(args)
#stdout, stderr = p.communicate()
#print stdout,stderr
print "已将数据库表结构和数据导出到%s"%filename
我在子进程使用mysqldump
命令,它输出了很多关于导出的数据信息,即使我注释掉stdout, stderr = p.communicate()
线。它也很慢,尽管我已经在shell中尝试了相同的命令,并且它非常快速和简洁。如何避免使用subprocess
时的所有冗长,并且加快所花的时间更像是直接从shell运行它的时间?运行mysqldump的是缓慢而冗长
我有我自己做完了在子进程上添加一个参数(shell = True) – mlzboy 2010-10-13 03:00:11
如果添加'shell = True'修复它,您可以添加该问题作为您自己问题的答案,并在两天内接受它 – 2010-10-13 03:05:00
对不起,对于我的照顾,它仍然没有工作,虽然它没有显示详细信息,但我没有找到结果sql文件 – mlzboy 2010-10-13 03:20:14