我正在尝试将python2升级到python3.6,我得到了以下代码的错误:
cmd = gRealPathCmd + " " + monOpts['wd']
wd = Popen(cmd, stdout = PIPE, shell = True).communicate()[0]
wd = wd.rstrip('\n')
monOpts['wd'] = wd
我得到的错误:
wd = wd.rstrip('\n')
TypeError: a bytes-like object is required, not 'str'
从以前的帖子中,我认为该文件的开头是二进制文件,这就是为什么我收到此错误,但是我不太确定如何解决它。 该怎么办?
答案 0 :(得分:2)
b'\n'
和'\n'
是两个不同的值。 Python 3对于bytes
和str
之间的区别非常严格,并且wd.rstrip
作为绑定的bytes
方法,期望前者作为参数,而不是后者:{ {1}}。
答案 1 :(得分:0)
使用字节字面量:
$..data.attributes.units.[?(@.children[?(@.content[?(@.id == 'b96c127c-6a4f-4a29-924d-63f0ba55972')])])].id