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