使用python调用cmd.exe bat.-like命令

时间:2013-11-12 18:52:54

标签: python windows batch-file cmd

我需要一些帮助... 我的计算机上安装了一个程序,我想打电话来计算一些东西并给我一个输出文件...

在Matlab中,“dos()”命令可以在matlab中为我提供cmd屏幕输出。

我需要这个在python中工作,但我做错了。

data='file.csv -v'
db=' -d D:\directory\bla\something.db'
anw='"D:\Program Files\bla\path\to\anw.exe"' + db + ' -i' + data

“anw”输出就是这个:

>>> anw

'"D:\\Program Files\\bla\\path\\to\\anw.exe" -d D:\\directory\\bla\\something.db -i file.csv -v' 
## without the "" it does not work either

import subprocess as sb    
p= sb.Popen('cmd','/K', anw) ## '/C' does not work either

我从python shell中的cmd.exe中收到以下错误消息

Windows cannot find "\"D:\Program Files\bla\path\to\anw.exe"" Make sure you typed the name correctly, and then try again.

这条线在我制作蝙蝠时运行。归档它。 它通过“dos(anw)”在matlab中运行,所以这里有什么问题? ps:我的命令中有空白......这可能是问题吗?我不知道第一个“\”来自cmd。 exe错误消息

1 个答案:

答案 0 :(得分:1)

现在我创造了一个蝙蝠。包含所有内容的文件cmx.de应该在输入文件所在的特定目录中执行...

我只需告诉python用

更改目录
import os
os.chdir("D:\working\directory")
os.system(r'D:\working\directory\commands.bat')

它运行良好,直接在python shell中提供cmd的输出