首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python程序中怎么连续调用cmd命令

2012-08-10 
python程序中如何连续调用cmd命令Python codeimport osimport subprocessdef command_line():cmd_pathcm

python程序中如何连续调用cmd命令

Python code
import 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')

热点排行