python os.popen不能与在cmd提示符下工作的命令一起工作

python os.popen不能与在cmd提示符下工作的命令一起工作,python,popen,Python,Popen,我可以使用os.popen运行以下命令 x = os.popen('dir') 但以下方法不起作用 x = os.popen('cmd /C ""C:\Program Files (x86)\Ixia\Tcl\8.4.14.0\bin\wish84.exe" "C:/Users/lab/Documents/Public/TCL/Scripts/GetStatsFirst2.tcl""') 我已经在windows命令行上运行了确切的命令,它成功地打开了TCL wish控制台并完成了所有操作。它

我可以使用os.popen运行以下命令

x = os.popen('dir')
但以下方法不起作用

x = os.popen('cmd /C ""C:\Program Files (x86)\Ixia\Tcl\8.4.14.0\bin\wish84.exe" "C:/Users/lab/Documents/Public/TCL/Scripts/GetStatsFirst2.tcl""')
我已经在windows命令行上运行了确切的命令,它成功地打开了TCL wish控制台并完成了所有操作。它只是不适用于os.popen。它应该打开一个TCL wish控制台,运行脚本并关闭。有没有办法让这一切顺利进行

另外,我用这个命令尝试了subprocess.call,它返回1,什么也不做

subprocess.call(['cmd', '/C', 'C:\Program Files (x86)\Ixia\Tcl\8.4.14.0\bin\wish84.exe', 'C:/Users/lab/Documents/Public/TCL/Scripts/GetStatsFirst2.tcl'], shell = False)

首先,您为什么要使用弃用和过时的
os.popen
函数?显示您使用
子流程尝试了什么。调用
,也许我们可以为您修复它。(我的第一个猜测是你忘了
shell=True
)还有,你为什么还要在shell中运行
cmd
cmd
已经是shell。如果您只是让wish84本身穿过外壳,会发生什么?它不工作吗?另一件事:
“\b”==“\x08”
。注意我们的绳子逃逸。使用原始(
r“…”
)字符串是避免反斜杠执行意外操作的最简单方法。您好,Tim,您的输入是正确的,解决了问题。请将您的评论作为答案发布,我会将其标记为答案。@user442920我仍然没有理解Tim所说的内容。你能详细说明一下吗?