我通过Github API在base64解码后得到了这个:
[b'<!DOCTYPE html>\n', b'<html>\n', b' <head>\n']
我真的很喜欢字符串(\n
行结尾)或字符串列表。
我花了一个小时追逐TypeError: a bytes-like object is required, not 'str'
,因为我认为它已经已经一个字符串列表,并且在我意识到根本原因在其他地方之前质疑我自己的lambda / filter技能。我尝试使用谷歌搜索,但我只是点击&#39; python字节到字符串&#39;这是不同的。
答案 0 :(得分:3)
如果您需要单个字符串,则可以map
bytes.decode
每个元素的join
方法然后l = [b'<!DOCTYPE html>\n', b'<html>\n', b' <head>\n']
s = "".join(map(bytes.decode, l))
:
decode
或者,如果需要列表,请在list-comp中的每个元素上调用ls = [i.decode() for i in l]
:
>>> print(repr(s)) # repr to show \n
'<!DOCTYPE html>\n<html>\n <head>\n'
>>> print(ls)
['<!DOCTYPE html>\n', '<html>\n', ' <head>\n']
结果现在是:
MyServiceModuleOne