繁体   English   中英

TypeError:需要一个类似字节的对象,而不是'str':得到此错误

[英]TypeError: a bytes-like object is required, not 'str' : Getting this error

获取错误:字节和str类型之间的冲突

old_server_uuid = p3.communicate()[0].split("|")[1].strip()

得到以下错误:

Traceback (most recent call last):
  File "create_env_file.py", line 68, in <module>
    data = create_env_source_list(node_name, ip_address)
  File "create_env_file.py", line 14, in create_env_source_list
    raise(ex)
  File "create_env_file.py", line 12, in create_env_source_list
    old_server_uuid = p3.communicate()[0].split("|")[1].strip()
TypeError: a bytes-like object is required, not 'str'

Python 3不允许混合文本(Unicode)字符串和字节字符串。

p3.communicate()[0]是一个字节字符串,因此.split参数也必须为1。

例子:

用Unicode字符串分割字节字符串:

>>> b'abc|123'.split('|')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: a bytes-like object is required, not 'str'

用字节字符串分割字节字符串:

>>> b'abc|123'.split(b'|')
[b'abc', b'123']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM