2024-06-16 12:40:55 发布
网友
我正在使用rsplit分割路径名
rsplit
rootPath = os.path.abspath(__file__) rootPath = (rootPath.rsplit('/', 1)[0]).rsplit('/', 1)[0]
但皮查姆警告说
expected type optional [bytes], got str instead
optional [bytes]
str
在python doc中,它声明使用sep作为分隔符字符串。
python doc
sep
那么如何解决这个问题呢?
似乎rootPath被视为字节对象(可能是个小错误?)或者警告是另一部分。
rootPath
一般来说,PyCharm和错误本质上警告您的是参数必须是None或bytes。这就是^{}的意思,Optional[type]要么是None,要么是type,在你的例子中是bytes。
None
bytes
Optional[type]
type
在一个简单的Python REPL中,消息略有不同,但要点是相同的:
b'hello/world'.rsplit('/') # error bytes-like object required
相反,您需要提供一个byte分隔符:
byte
b'hello/world'.rsplit(b'/')
或者None来让它工作。
PyCharm中有一个小错误,并且这里报告的rsplit不正确,或者警告是针对代码的另一部分。
似乎
rootPath
被视为字节对象(可能是个小错误?)或者警告是另一部分。一般来说,PyCharm和错误本质上警告您的是参数必须是} 的意思,
None
或bytes
。这就是^{Optional[type]
要么是None
,要么是type
,在你的例子中是bytes
。在一个简单的Python REPL中,消息略有不同,但要点是相同的:
相反,您需要提供一个
byte
分隔符:或者
None
来让它工作。PyCharm中有一个小错误,并且这里报告的
rsplit
不正确,或者警告是针对代码的另一部分。相关问题 更多 >
编程相关推荐