Python os.system启动exe,带引号和短划线参数

时间:2013-11-12 15:40:51

标签: python shellexecute os.system

美好的一天

我正在尝试运行以下命令,但收到各种错误我知道我的语法不正确或可能使用了错误的方法,任何人都应该指出正确的方向。

感谢您的帮助

实际的外部程序路径,如Windows命令行或批处理脚本中的那样。

"c:\Program Files\SQL Anywhere 11\Bin32\dbbackup.exe" -c "DSN=demo2suite;UID=dba;PWD=sql" -y "D:\Databases\demo2\LIVE\LIVE_BCK"

Python V3.3

这个迷你(新手)项目的代码部分将是。

def BackupDatabase():
    try:
        os.system('c://Program Files//SQL Anywhere 11//Bin32//dbbackup.exe -c "DSN=amos2suite;UID=dba;PWD=sql" -y "D://Databases//AMOS2//LIVE//LIVE_BCK"')
    except OSError as e:
        WriteLog("error",e) 

1 个答案:

答案 0 :(得分:0)

最好使用子进程模块。 像这样:

import subprocess
subprocess.call(['c://Program Files//SQL Anywhere 11//Bin32//dbbackup.exe','-c',
'"DSN=demo2suite;UID=dba;PWD=sql"', '-y','"D://Databases//AMOS2//LIVE//LIVE_BCK"'])