介绍
这篇文章主要介绍判断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对象是不是为文件对象的方法有哪些的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!