Python open(文件)的类型

时间:2014-07-01 02:00:59

标签: python python-2.7 filehandle isinstance

我想使用isinstance内置函数来判断open(file)的类型。

怎么做?

谢谢! :d

3 个答案:

答案 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"))

的输出来判断