gpt4 book ai didi

Python 3.3.2 检查对象是否为文件类型

转载 作者:太空狗 更新时间:2023-10-29 17:40:24 24 4
gpt4 key购买 nike

我正在从 Python 2.7 移植到 Python 3.3.2。在 Python 2.7 中,我曾经能够执行类似 assert(type(something) == file) 的操作,但在 Python 3.3.2 中这似乎是错误的。我如何在 Python 3.3.2 中做类似的事情?

最佳答案

Python 3 文件对象是 io module 的一部分, 针对 ABC classes 进行测试在该模块中:

from io import IOBase

if isinstance(someobj, IOBase):

不要在 Python 2 中使用 type(obj) == file;你会使用 isinstance(obj, file) 来代替。即便如此,您还是希望测试功能io ABC 让你做的事情; isinstance() function将为实现抽象基类定义的所有方法的任何对象返回 True

演示:

>>> from io import IOBase
>>> fh = open('/tmp/demo', 'w')
>>> isinstance(fh, IOBase)
True
>>> isinstance(object(), IOBase)
False

关于Python 3.3.2 检查对象是否为文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18880948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com