Python3.11中写入信息到文件中报错“ TypeError a bytes-like object is required, not ‘str‘”

一、问题描述

在使用Python3.11实现将信息写入文件时,报“Exception has occurred: TypeError a bytes-like object is required, not 'str'”错信息如下图所示:

二、问题分析

通过查看报错信息可以知道错误原因是【写入信息的write函数的参数请求的是字节参数而不是字符串】,也就是说我们目前传递的参数是字符串而不是字节所以报错。

三、解决办法

我们只用将写入信息的write函数需要的参数转为字节传递进去即可。

3.1、将字符串转为字节

#将字符串转为字节的方法1:
str.encode('需转换的字符串','utf-8')

#将字符串转为字节的方法2:
bytes('需转换的字符串','utf-8')

3.2、Python3.11将信息写入文件的不报错方法

#写入文件(覆盖原有内容)
def WriteInfo(needWriteInfo,filePathAndName):
    with open(filePathAndName,'wb') as fileObj:
        tmpBytes = bytes(needWriteInfo,'utf8')
        fileObj.write(tmpBytes)

猜你喜欢

转载自blog.csdn.net/xiaochenXIHUA/article/details/129440886
今日推荐