由于旧的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)
感谢您的帮助!
答案 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)