python - 迁移 python 2 到 3 : types. 文件类型

标签 python file io

使用 2to3 从 Python 2 迁移到 Python 3 时,types.FileType 的导入尚未调整。

是否适合使用 isinstance() 检查 io.TextIOWrapperio.StringIO 以区分这两种情况?

或者,有没有更现代的Pythonic方式来处理这个问题?

最佳答案

这里通常的方法是 EAFP :尝试阅读 name属性(毕竟,它可能有用地存在于任何类型的类似文件的流包装器上)并回退到 AttributeError 上的其他行为。如果您只需要默认值,请使用 getattr(f,'name',default) ; default可以是"<unknown>"或其他类型的内容(例如 None ),明确保留有关属性是否存在的信息(作为字符串)。

关于python - 迁移 python 2 到 3 : types. 文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59487695/

相关文章:

python - 如何仅向感兴趣的子字符串添加引号?

java - 在套接字中发送停止消息

javascript - Xpages 上的 Web 标记

java - 使用 FileInputStream 从二进制文件读取

perl - 几个 fork 进程中的第二个不在 Haskell 中运行 (GHC 7.8.4)

python - 带有附加参数的表单的 __init__ 方法

python - 使用用户对象在 Django 中测试表单

python - Tastypie 中的文件字段

linux - 如何在linux中做异步IO?

java - Java(Android)中的FileObserver多次触发