类文件对象是Python中的对象,其行为类似于真实文件,例如具有read()和write方法(),但具有不同的实现.它是鸭子打字概念的实现.
在文件预期的任何地方允许类似文件的对象被认为是一种好的做法,例如可以使用StringIO或Socket对象来代替真实文件.所以执行这样的检查是不好的:
if not isinstance(fp, file):
raise something
Run Code Online (Sandbox Code Playgroud)
检查对象(例如方法的参数)是否"类似文件"的最佳方法是什么?