python3 path.join TypeError

时间:2016-12-11 16:34:14

标签: python python-3.x

Python代码在python3中断。

Vectorize.py包含以下行

path = os.path.join('..', path[:-1])

错误输出:

$ python3 vectorize_text.py    
Traceback (most recent call last):
File "vectorize_text.py", line 46, in <module>
    path = os.path.join('..', path[:-1])
File "/usr/lib/python3.4/posixpath.py", line 89, in join
"components") from None
TypeError: Can't mix strings and bytes in path component

另一方面,在python2.7中运行它可以正常工作。我在这里错过了什么?命令不同吗?我找不到任何东西。

1 个答案:

答案 0 :(得分:3)

您的path bytes 对象,而不是str字符串。然后,您只能使用更多bytes字符串来创建不同的路径。使用b'..' bytes字面值:

path = os.path.join(b'..', path[:-1])