python – Pycharm期望类型’optional [bytes]’得到’str’而不是

本文探讨了在PyCharm中使用rsplit方法分割路径时遇到的警告问题,详细解释了警告的原因,即rsplit期望的参数类型为bytes或None,而实际传入的是str类型。文章提供了正确的解决方案,包括在字节字符串上使用字节分隔符。
部署运行你感兴趣的模型镜像

我使用rsplit来分割路径名,

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

但是Pycharm警告说,

 

expected type optional [bytes], got str instead

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

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

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

 

一般来说,PyCharm和错误基本上警告你的是参数必须是None或bytes.这就是Optional的意思,可选[type]是None或type,在你的情况下是字节.

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

 

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

相反,你需要提供一个字节分隔符:

 

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

或无,以使其工作.

要么PyCharm中有一个小错误,它在这里报告rsplit不正确,或警告是代码的另一部分.

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值