哪个测试可以判断对象是否是类似字节的对象?
通常,字符串或类似字节的对象可以出现在某些函数调用中.在这种情况下,一个简单但间接的解决方案就是if not isinstance(obj, str).
我发现 字节串在collections.abc.它似乎给出了正确的答案,但我不确定这是否是正确的方法:
>>> import collections.abc as cabc
>>> isinstance(bytes(),cabc.ByteString)
True
>>> isinstance(bytearray(),cabc.ByteString)
True
>>> isinstance("string",cabc.ByteString)
False
Run Code Online (Sandbox Code Playgroud)
For*_*Bru -1
这几乎是正确的方式collections.abc.ByteString,因为 、 以及typing.ByteString代表类型bytes、bytearray、 和memoryview,但不是array.array,因此您需要另一次检查:
def IsBytesLike(obj):
return isinstance(obj, typing.ByteString) or isinstance(obj, array.array)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1465 次 |
| 最近记录: |