Python 中 None 的字节连接问题

发布于 2025-01-12 15:05:10 字数 447 浏览 0 评论 0原文

total = None

for i in range(2):

        item_1 = b'\x01'

        item_2 = b'\x02'

        item_3 = b'\x03'
       
        # concatenation
        combined = item_1 + item_2 + item_3 # which makes b'\x01\x02\03'
        
        total = total + combined            # to make b'\x01\x02\03\x01\x02\03'

在上面,我收到错误,因为我无法将 None 与 Bytes 连接起来。我想到的一种方法是给出一些值(比如说b'\x00')来总计并稍后在总计中删除,但不知道该怎么做。有人可以告诉我实现上述目标吗

total = None

for i in range(2):

        item_1 = b'\x01'

        item_2 = b'\x02'

        item_3 = b'\x03'
       
        # concatenation
        combined = item_1 + item_2 + item_3 # which makes b'\x01\x02\03'
        
        total = total + combined            # to make b'\x01\x02\03\x01\x02\03'

In the above, I get a error because I cannot concatenate None with Bytes. One way I am thinking is to give some value(let's say b'\x00') to total and remove in the total later, but not sure how to do it. Can someone please tell a away to achieve the above

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花海 2025-01-19 15:05:10

过滤可能的 None 参数。 filter(None, args) 将返回一个可迭代对象,其中包含 bool(value) == True 的所有值,

def combine_bytes(*args):
return b''.join(filter(None, args))

然后您可以调用:

combine_bytes(b'\x01', None, b'\x02', b'\x03', False)

Filter on possible None arguments. filter(None, args) will return an iteratable that holds all values with bool(value) == True

def combine_bytes(*args):
return b''.join(filter(None, args))

You can then call:

combine_bytes(b'\x01', None, b'\x02', b'\x03', False)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文