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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |