判断Python对象是不是为文件对象的方法有哪些

  介绍

这篇文章主要介绍判断Python对象是不是为文件对象的方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

文件操作是开发中经常遇到的场景,那么如何判断一个对象是文件对象呢?下面我们总结了3种常见的方法。

<强>方法1:比较类型

第一种方法,就是判断对象的类型是否为文件

Python   在祝辞祝辞,fp =,开放(r"/tmp/pythontab.com")   在祝辞祝辞,类型(fp)   & lt; type  & # 39;文件# 39;比;   在祝辞祝辞,类型(fp),==,文件   真正的

注意:该方法对于从文件继承而来的子类不适用,看下面的实例

class  fileDetect(文件):   ,,,pass  #,中间代码无所谓,直接跳过不处理   时间=fp2  fileDetect (r"/tmp/pythontab.com")   时间=fileType 类型(fp2)   打印(文件类型)

结果:

& lt; class  & # 39; __main__.fileDetect& # 39;在

<强>方法2:isinstance方法

要判断一个对象是否为文件对象(file对象),可以直接用isinstance()判断。

如下代码中,开放得到的对象fp类型为文件,当然是文件的实例,而文件名类型为str,自然不是文件的实例

在祝辞祝辞,isinstance (fp,文件)   真正的   在祝辞祝辞,isinstance (fp2,文件)   真正的   在祝辞祝辞,filename =, r"/tmp/pythontab.com"   在祝辞祝辞,类型(文件名)   & lt; type  & # 39; str # 39;比;   在祝辞祝辞,isinstance(文件名,文件)   假

<>强方法3:推测法

在python中,类型并没有那么重要,重要的是“接口”。如果它走路像鸭子,叫声也像鸭子,我们就认为它是鸭子(起码在走路和叫声这样的行为上)。

按照这个思路我们就有了第3中判断方法:判断一个对象是否具有可调用的读,写,近方法(属性)。

def  isfile (f):   ,,,,,,   ,,,Check  if  object  & # 39; f # 39;, is  readable  file-like    that  it  has  callable  attributes  & # 39;读# 39;,,,& # 39;写# 39;,以及& # 39;关闭# 39;   ,,,,,,   试一试:   if  isinstance (getattr (f,“read"),, collections.Callable), \   以及isinstance (getattr (f,“write"),, collections.Callable), \   以及isinstance (getattr (f,“close"),, collections.Callable):   return 真正的   except  AttributeError:   通过   return 假

以上是判断Python对象是不是为文件对象的方法有哪些的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

判断Python对象是不是为文件对象的方法有哪些