我试图修改一个trac插件,该插件允许将wiki页面下载到word文档中。pagetodoc.py页在此行引发异常:
# Call the subprocess using convenience method
retval = subprocess.call(command, shell=True, stderr=errptr, stdout=outptr, close_fds = True)
Windows不支持close_fds
。进程似乎在C:\Windows\Temp中创建了一些临时文件。我尝试删除close_fds
参数,但随后子进程写入的文件将无限期地保持打开状态。然后在以后写入文件时抛出异常。这是我第一次使用Python,我不熟悉这些库。这就更困难了,因为大多数人可能在Unix机器上编写代码。有什么办法我可以重做这段代码吗?在
谢谢!在
close_fds
is supported on Windows(在该链接后搜索“close\fds”),从python2.6开始(如果stdin
/stdout
/stderr
)开始。你可以考虑升级。在投票否决后更新2017-11-16(为什么?):从链接的文档:
因此,您可以使用}(默认值)(或将它们设置为
close_fds = True
而不设置stdin
、stdout
或{None
):或者你}:
subprocess.call
和{或者(Python>;=3.2)让
subprocess.call
自己计算close_fds
的值:相关问题 更多 >
编程相关推荐