在读取文件时候比如读取 xxx.csv 时候 可能报编码错误
类似于
'xxx' codec can't decode byte 0xac in position 211: illegal multibyte sequen
id_list = [] with open('E:/work_spider/xxx/xx.csv', "r", encoding="utf-8") as csvfile: csvReader = csv.reader(csvfile) for content in csvReader: content = str(content) if 'l.' in content: continue id_list.append(content.split('\\')[0].replace("['", ""))
可以在读取时候尝试制定编码方式。
保存图片或者视频文件的时候或许也会报错 Unicode decode error xxxxxxxxxxx
VideoHtmlContent = requests.get(url = VideoUrl,headers=headers).content with open('bobovideo.mp4','wb',) as f: f.write(VideoHtmlContent)
不要忘记 它的文件打开方式 图片可视频都是以bytes类型二进制方式请求和写入 我们使用‘wb',以二进制写模式打开
open有很多打开模式 以下仅供参考和查阅:
a表示append,r表示read,w表示write,+表示读写模式。,b表示二进制,t表示文本模式,t是默认的模式。
w 以写方式打开,
a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+ 以读写模式打开
w+ 以读写模式打开
a+ 以读写模式打开
rb 以二进制读模式打开
wb 以二进制写模式打开
ab 以二进制追加模式打开
rb+ 以二进制读写模式打开
wb+ 以二进制读写模式打开
ab+ 以二进制读写模式打开
问题扩展:
python文件读取:遇见的错误及解决办法
TypeError: 'str' object is not callable
产生原因:
该错误TypeError: 'str' object is not callable字面上意思:就是str不可以被系统调用,
其实原因就是:你正在调用一个不能被调用的变量或对象,具体表现就是你调用函数、变量的方式错误.
例子:
filePath=kwargs['path'] filePathStr=str(filePath)
也就是自己在用的是关键字参数传参,传过来的时候是什么类型,传过来就是什么类型,也就是filePath本来就是字符串类型,但是我又用了str()函数去作用于他,这就是问题所在,函数调用错误!