我想使用isinstance
内置函数来判断open(file)
的类型。
怎么做?
谢谢! :d
答案 0 :(得分:3)
在Python 2.x中,所有文件对象都是file
的类型:
>>> type(open('file.txt'))
<type 'file'>
>>>
>>> isinstance(open('file.txt'), file)
True
>>>
在Python 3.x中,普通文件对象的类型为io.TextIOWrapper
:
>>> type(open('file.txt'))
<class '_io.TextIOWrapper'>
>>>
>>> from io import TextIOWrapper
>>> isinstance(open('file.txt'), TextIOWrapper)
True
>>>
答案 1 :(得分:1)
如the documentation for open
中所述:
打开一个文件,返回
file
部分中描述的File Objects类型的对象。
因此,open
会返回file
,您应该使用isinstance(foo, file)
答案 2 :(得分:0)
其类型为file
。您可以通过type(open("file","w"))