![](/img/trans.png)
[英]TypeError: a bytes-like object is required, not 'str' python3
[英]Changing Python2 to Python3 Error: TypeError: a bytes-like object is required, not 'str'
我是 python 的新手,但我的任務是將我不熟悉的文件從 python2 轉換為 python3。 有一個問題特別困擾着我。 我開始於:
graphical_users = [line.split() for line in check_output("who".split('\n') if " :0" in line]
然后我把它改成
graphical_users = []
for line in check_output("who").split('\n'):
if " :0" in line:
graphical_users.append(line.split())
為了更容易調試並找到了該行
for line in check_output("who").split('\n'):
成為罪魁禍首。
無論哪種方式,因為它們是等效的,它給了我錯誤:“TypeError:需要一個類似字節的對象,而不是'str'”然后我查看其他人是否有這個問題,大多數地方都在談論人們以二進制模式打開文件或諸如此類,但據我所知,情況並非如此。 如果有人有任何建議,我願意嘗試任何事情。 另外,如果需要其他代碼,請告訴我。
更改呼叫split
到split(b'\\n')
如果要拆分字節字符串(這是check_output
返回的內容),則需要字節文字。 b
前綴使其成為字節字符串而不是字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.