加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 为什么NamedTemporaryFile().write(没有中间变量)导致

发布时间:2020-12-20 13:36:54 所属栏目:Python 来源:网络整理
导读:我有以下脚本,它以两种不同的方式执行相同的操作.第一部作品,第二部作品不是: #!/usr/bin/pythonimport tempfilefhandle=tempfile.NamedTemporaryFile(dir=".",delete=False)fhandle.write("hello")tempfile.NamedTemporaryFile(dir=".",delete=False).writ
我有以下脚本,它以两种不同的方式执行相同的操作.第一部作品,第二部作品不是:

#!/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

解决方法

正确的答案(从这个问题的答案和进一步的测试):这是一个错误.

我提出了一个错误,可以在这里看到:http://bugs.python.org/issue18879

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读