Pycharm需要类型“optional[bytes]”而不是“str”

2024-06-16 12:40:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用rsplit分割路径名

rootPath = os.path.abspath(__file__)
rootPath = (rootPath.rsplit('/', 1)[0]).rsplit('/', 1)[0]

但皮查姆警告说

expected type optional [bytes], got str instead

python doc中,它声明使用sep作为分隔符字符串。

那么如何解决这个问题呢?


Tags: path警告bytesostypeoptionalfileexpected
1条回答
网友
1楼 · 发布于 2024-06-16 12:40:55

似乎rootPath被视为字节对象(可能是个小错误?)或者警告是另一部分。

一般来说,PyCharm和错误本质上警告您的是参数必须是Nonebytes。这就是^{}的意思,Optional[type]要么是None,要么是type,在你的例子中是bytes

在一个简单的Python REPL中,消息略有不同,但要点是相同的:

b'hello/world'.rsplit('/') # error bytes-like object required

相反,您需要提供一个byte分隔符:

b'hello/world'.rsplit(b'/') 

或者None来让它工作。

PyCharm中有一个小错误,并且这里报告的rsplit不正确,或者警告是针对代码的另一部分。

相关问题 更多 >