Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';不要将fdopen与mkstemp一起使用_Python_Temp_Temporary Files - Fatal编程技术网

Python Can';不要将fdopen与mkstemp一起使用

Python Can';不要将fdopen与mkstemp一起使用,python,temp,temporary-files,Python,Temp,Temporary Files,我无法从mkstemp返回的句柄写入通过fdopen以rw打开的文件 >>> import tempfile >>> import os >>> a = tempfile.mkstemp() >>> b = os.fdopen(a[0], "rw") >>> b <open file '<fdopen>', mode 'rw' at 0x7f81ea669f60> >>&

我无法从
mkstemp
返回的句柄写入通过
fdopen
rw
打开的文件

>>> import tempfile
>>> import os
>>> a = tempfile.mkstemp()
>>> b = os.fdopen(a[0], "rw")
>>> b
<open file '<fdopen>', mode 'rw' at 0x7f81ea669f60>
>>> b.write("foo")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IOError: [Errno 9] Bad file descriptor
>>> 
如果我以一种或另一种模式打开文件,则一切正常:

>>> c = tempfile.mkstemp()
>>> d = os.fdopen(c[0], "r")
>>> d
<open file '<fdopen>', mode 'r' at 0x2380540>
>>> d.read()
''
>>> e = tempfile.mkstemp()
>>> f = os.fdopen(e[0], "w")
>>> f.write("foo")
>>> 
>c=tempfile.mkstemp()
>>>d=os.fdopen(c[0],“r”)
>>>d
>>>d.读()
''
>>>e=tempfile.mkstemp()
>>>f=os.fdopen(e[0],“w”)
>>>f.写(“foo”)
>>> 

rw
不是有效模式

如果您想以上传模式(读/写)打开文件,请使用
w+
r+
模式

(参见:
os.fdopen的
mode
参数与
open
相同)

当然。。。脸掌。谢谢你的帮助。几分钟后我会接受你的回答。
>>> c = tempfile.mkstemp()
>>> d = os.fdopen(c[0], "r")
>>> d
<open file '<fdopen>', mode 'r' at 0x2380540>
>>> d.read()
''
>>> e = tempfile.mkstemp()
>>> f = os.fdopen(e[0], "w")
>>> f.write("foo")
>>>