我正在使用rsplit分割路径名称,

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

但是 Pycharm 警告,



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

那么如何解决呢?

最佳答案

似乎rootPath被视为字节对象(也许是个小错误?),或者警告是针对另一部分的。

通常,PyCharm和该错误实际上是在向您警告,该参数必须是Nonebytes。这就是 Optional 的意思,Optional[type]Nonetype,在您的情况下是bytes

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

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

相反,您需要提供byte分隔符:
b'hello/world'.rsplit(b'/')

None,以使其正常工作。

PyCharm中有一个小错误,在这里错误地报告了rsplit,或者警告是针对您代码的另一部分。

关于python - Pycharm预期类型 'optional[bytes]'改为 'str',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39447741/

10-11 07:13