如何用元组中的逗号替换空格?

how to replace spaces with commas in a tuple?

我需要计算 Gmail 邮箱中每天收到的电子邮件的数量,并将该数量保存在 table 中。为此,我使用了 imaplib:

import imaplib  
import re
obj = imaplib.IMAP4_SSL('imap.gmail.com', 993)  
obj.login('xxx@gmail.com', 'password')  
obj.select('Inbox')     
('OK', ['50'])  
gmail_count = obj.search(None,'(SINCE "01-Sep-2020" BEFORE "02-Sep-2020")') 
print(gmail_count)

我得到这样的信息: ('OK', [b'28410 28411 28412 28413 28414 28415 28416 28417 28418 28419 28420 28421 28422 28423 28424 28425 28426 28427 28428 28429 28430 28431 28432 28433 28434 28435 28436 28437 28438 28439'])

我现在需要计算此元组中有多少个值以获得电子邮件数量,因此我想用逗号替换空格。我该怎么做?

您可以使用 replace built-in 函数将字符串中的空格替换为逗号

在您的情况下,您首先必须使用 decode("utf-8") 函数将字节数组转换为字符串。

如果您的数据不是 utf-8 编码的,您可以使用正确的编码方法更改 decode 函数中的参数。

values = gmail_count[1][0]
replaced = values.decode("utf-8").replace(" ", ",")

您也可以只使用 split 来获取列表,然后获取计数并对其进行任何其他列表操作:

uidbytes = b’10 20 30’
uidlist = uidbytes.split(b’ ‘)
print(uidlist)
print(len(uidlist))

输出:

[b’10’, b’20, b’30’]
3

您甚至可以将它们更改为整数:

>>> [int(x) for x in uidlist]
[10, 20, 30]