我正在尝试从下面的列表中获取URL,我做错了什么?
>>> op
[b'key', b'Changes:', b'remote:', b'https://server-1.com/253', b'test', b'change', b'remote:', b'To', b'ssh://server-1:29418/a/ab', b'*', b'[new', b'branch]', b'HEAD', b'->', b'refs/for/foo']
>>>
>>> next(x for x in op if "https" in x)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <genexpr>
TypeError: a bytes-like object is required, not 'str'
>>>
答案 0 :(得分:4)
这意味着所有数据都以字节对象的形式返回,而不是str。
使用b'some_pattern'
代替'some_pattern'
答案 1 :(得分:0)
此列表是一个字节列表。 使用方法:
next(x for x in op if 'http' in str(x))