为什么要通过Python打开资源管理器窗口并选择文件';s子进程返回错误代码1

为什么要通过Python打开资源管理器窗口并选择文件';s子进程返回错误代码1,python,python-2.7,subprocess,windows-explorer,error-code,Python,Python 2.7,Subprocess,Windows Explorer,Error Code,我正在编写一些代码,将打开一个资源管理器窗口,并在Windows中为给定的文件路径选择文件 我找到了一个解决办法,从表面上看似乎是可行的。它将打开Windows资源管理器并根据需要高亮显示文件。但是,返回的错误代码为1。 理想情况下,我希望通过检查返回代码来知道该操作是否成功,但即使它看起来运行正常,我也得到了1 我的代码如下所示: a_file = r"C:\a_path\to\afile.file" cmd_args = ['explorer', '/select,', a_file] p

我正在编写一些代码,将打开一个资源管理器窗口,并在Windows中为给定的文件路径选择文件

我找到了一个解决办法,从表面上看似乎是可行的。它将打开Windows资源管理器并根据需要高亮显示文件。但是,返回的错误代码为1。 理想情况下,我希望通过检查返回代码来知道该操作是否成功,但即使它看起来运行正常,我也得到了1

我的代码如下所示:

a_file = r"C:\a_path\to\afile.file"
cmd_args = ['explorer', '/select,', a_file]
p = subprocess.call(cmd_args)
print(p)
返回:

一,

我还尝试过使用
os.system
subprocess.Popen
,以防产生影响(但事实并非如此)。 我正在使用Python2.7,并在Windows1064bit上进行测试,不过我更希望我的解决方案能够与尽可能多的Windows和Python设置兼容


如果有人知道为什么或如何避免这种情况,那将是惊人的!感谢

人们一直在观察Windows GUI,以返回退出代码1,然后返回


您可能希望尝试通过
win32com
、explorer.exe的代码段和注释来控制windows程序。

在我的环境中,即使没有参数的“explorer”调用每次都返回1。Explorer似乎没有用退出代码表示成功或失败。感谢您的回复和链接,我已经将其标记为答案,尽管我认为在我的特殊情况下,这可能比它的价值更大,而且我们目前没有提供pywin32。但我感谢你的时间和澄清!