0

由于旧的 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)

谢谢您的帮助!

4

1 回答 1

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)
于 2012-07-17T15:12:40.983 回答