我正在尝试将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'
从以前的帖子中,我认为文件的打开是二进制的,这就是为什么我会出现这个错误,但我不太确定如何修复它。 怎么办?你知道吗
b'\n'
和'\n'
是两个不同的值。python3对bytes
和str
之间的区别非常严格,而wd.rstrip
作为绑定的bytes
方法,期望前者作为参数,而不是后者:wd = wd.rstrip(b'\n')
。你知道吗使用字节文字:
相关问题 更多 >
编程相关推荐