我有以下脚本,它两次执行相同的操作,但方式略有不同。第一个有效,第二个无效:
#!/usr/bin/python
import tempfile
fhandle=tempfile.NamedTemporaryFile(dir=".",delete=False)
fhandle.write("hello")
tempfile.NamedTemporaryFile(dir=".",delete=False).write("hello")
我收到以下错误:
Traceback (most recent call last):
File "./test.py", line 7, in <module>
tempfile.NamedTemporaryFile().write("hello")
ValueError: I/O operation on closed file
在我的示例脚本中,我将它们放在一起以表明第一个有效。这不影响结果,只是指出存在差异。
这是 Python 中的错误吗?我的机器有什么奇怪的吗?预期的行为?正确的行为?看起来对象在 write() 之前被销毁了。
Ubuntu 12.04.3 LTS 上的 Python 2.7.3