os.system命令

时间:2012-07-17 15:08:47

标签: python python-2.7 os.system

由于旧的Python限制,我正在开发一个需要使用os.system的程序。目前我被困在一个小地方。

os.system("C:\\FIOCheck\\xutil.exe  -i get phy" +HBEA + ">C:\\FIOCheck\\HBEAResult.txt")

这是我正在努力解决的一段代码。它将访问具有一些参数的外部程序。 HBEA是我试图传递的变量(在程序的早期收到)。然后程序接受.exe创建的任何内容并将其传递给外部文件。此时,变量HBEA未传递到命令行,因此.exe永远不会运行,这会导致.txt为空。由于文件是空白的,我无法从中获取数据,因此无法完成程序。

有什么想法吗?

编辑: 所以我根据一些建议尝试了以下代码:

cmd = "C:\\FIOCheck\\xutil.exe  -i get phy " +HBEA + ">C:\\FIOCheck\\HBEAResult.txt"
print cmd
os.system(cmd)

生成了以下输出:

50012BE00004BDFF  #HBEA variable
C:\FIOCheck\xutil.exe  -i get phy 50012BE00004BDFF>C:\FIOCheck\HBEAResult.txt #the cmd  var

然而,这仍然没有传递价值。 HBEA变量是否太长?

已解决

该程序使用了最佳答案的一些编辑。命令正确传递,但我格式化它的方式不正确。新格式如下:

cmd = "C:\\FIOCheck\\xutil.exe -i " + HBEA + " get ver" + ">C:\\FIOCheck\\HBEAResult.txt"
os.system(cmd)

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

os.system("C:\\FIOCheck\\xutil.exe  -i get phy" +HBEA + ">C:\\FIOCheck\\HBEAResult.txt")

应该是

os.system("C:\\FIOCheck\\xutil.exe  -i get phy " +HBEA + ">C:\\FIOCheck\\HBEAResult.txt")

并且您始终可以首先构建字符串

cmd = "C:\\FIOCheck\\xutil.exe  -i get phy " +HBEA + ">C:\\FIOCheck\\HBEAResult.txt"
print cmd
os.system(cmd)