python程序中怎么连续调用cmd命令
python程序中如何连续调用cmd命令Python codeimport osimport subprocessdef command_line():cmd_pathcm
python程序中如何连续调用cmd命令
Python codeimport osimport subprocessdef command_line(): cmd_path='cmd /k cd /d c:\\Program Files\\InstallShield\\PackageForTheWeb 4\\' os.system(cmd_path) os.system('pftwwiz.exe Projects\\ScanMailforDomino.pfw -a -s')command_line()
就如上所述,如果在cmd命令行中,应该是这样的:我先进入到那个路径c:\\Program Files\\InstallShield\\PackageForTheWeb 4下面,然后在该路径中执行下面的那个命令pftwwiz.exe Projects\\ScanMailforDomino.pfw -a -s就可以。
可是在python程序中,每执行完第一条命令cmd_path之后,程序就会退回默认路径,然后第二条命令还是在默认路径下执行,导致失败(因为第二条命令依赖pftwwiz.exe的安装路径,也就是第一条命令)
我被这个问题困扰的好久,也用subprocess模块试了试,还是没有结果,怎么才能让python调用cmd命令连续执行呢
[解决办法]因每次 os.system 都会创建一个 shell 进程来执行其中的命令,所以两个 os.system 之间很难建立起关联来。
试试将路径合并到第二个 os.system 中吧
[解决办法]lz 应该考虑启动外部程序时的工作路径
比如 Popen 可以设置 cwd
[解决办法]能用&就用&在一次system中连起来,不行就换batch,现在powershell也灰常强大,这活本来就该shell干
[解决办法]熟悉批处理的话,多简单呢。。哈哈
os.system('cd "c:\\Program Files\\InstallShield\\PackageForTheWeb 4\\" & pftwwiz.exe Projects\\ScanMailforDomino.pfw -a -s')