Python 操作系统命令

Python 操作系统命令,python,python-2.7,os.system,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没有被传递到命令行,因此.e

由于旧的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)
谢谢你的帮助

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)

是否要将
'phy'
HBEA
的内容连接在一起,且它们之间没有任何空格?当我为
HBEA
设置一个值时,它会与字符串连接在一起,因此不清楚该变量的值在哪里丢失。您能在生成此命令之前立即打印出来吗?我希望能够成功地将HBEA传递到命令行。目前该命令运行正常,但缺少HBEA变量。我将先单独打印
HBEA
的值,然后分别构建命令字符串(
cmd
),并打印以进行验证,然后调用
os.system(cmd)
Hi-Levon,我试过了,得到了以下结果:50012BE00004BDFF C:\FIOCheck\xutil.exe-我得到的phy 50012BE00004BDFF>C:\FIOCheck\HBEAResult.txt是正确的,但是数字仍然没有传递到命令行。它仍然丢失。按照您现在获取代码的方式,您将获得
phy50012BE00004BDFF
。。不是
phy 50012BE00004BDFF
所以你可能改变了什么。另外,只需在字符串中添加一个
'\n'
。这应该没什么区别,但还是继续尝试吧。这几乎总结了我上面的两条评论。这似乎是我在使用突击队时遇到的前两件事,所以我一直在胡闹,并尝试了这一步。输出中的一切似乎都很好,但是出于某种原因,我仍然没有传递HBEA变量。示例输出:50012BE00004BDFF C:\FIOCheck\xutil.exe-我得到phy 50012BE00004BDFF>C:\FIOCheck\HBEAResult.txtNate-它是从另一个文件中提取的,该文件创建为50012BE:00004BDFF。我只需提取:然后传递这个值。