python:如果我使用 fdopen,需要从 mkstemp 关闭文件吗?
以下哪项更正确?
fi, path = tempfile.mkstemp()
f = os.fdopen(fi, "w")
f.write(res)
f.close()
os.close(fi)
或者:
fi, path = tempfile.mkstemp()
f = os.fdopen(fi, "w")
f.write(res)
f.close()
Which of the following is more correct?
fi, path = tempfile.mkstemp()
f = os.fdopen(fi, "w")
f.write(res)
f.close()
os.close(fi)
or:
fi, path = tempfile.mkstemp()
f = os.fdopen(fi, "w")
f.write(res)
f.close()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
检查
f.fileno()
,它应该与fi
相同。您应该只关闭该文件描述符一次,因此第二次是正确的。在 Unix 上,第一个会导致错误:
Check
f.fileno()
, it should be the same asfi
. You should only ever close that file descriptor once, so the second is correct.On Unix, the first causes an error:
如果使用足够新的 Python,您可以将其简化为:
If on a sufficiently recent Python, you can golf this down to:
继续跟进最新的答案,如果需要路径:
Continuing the follow-up on the most recent answers, if you need the path:
我会这样做:
I would do:
如果您要在最后一个示例中编写,您需要:
If you're going to write in the last example you'd need: