如何在Python中检测bytearray对象是否为空?
检测空bytearray的正确方法
你之前的代码没法检测空bytearray,是因为bytearray和空字符串""属于不同的数据类型,Python里不同类型的对象默认不会相等。
下面是几种正确的检测方式:
和空bytearray/bytes直接比较
可以直接和空的bytearray()或者更简洁的b""(空bytes)比较,因为bytearray和bytes类型是兼容的:# 方式1:和空bytearray比较 if my_bytearray == bytearray(): print("Read drop out") # 方式2:和空bytes比较(更简洁) if my_bytearray == b"": print("Read drop out")检查长度是否为0
空bytearray的长度是0,直接判断长度即可:if len(my_bytearray) == 0: print("Read drop out")直接判断对象是否为空(Pythonic写法)
在Python中,长度为0的可迭代对象(比如bytearray)在布尔判断中会被视为False,所以可以直接这样写:if not my_bytearray: print("Read drop out")
内容的提问来源于stack exchange,提问作者Iver
相关产品推荐
相关产品推荐

