我在Python2.x中使用以下内容;
import csv
f = open('test.csv', 'wb')
writer = csv.writer(f)
writer.writerow((fpath, md5sum, size)) # <str>, <str>, <int>
Run Code Online (Sandbox Code Playgroud)
这没有任何问题.但是,当我在Python3中运行它时,我得到一个TypeError.
writer.writerow((fpath, md5sum, size))
TypeError: write() argument 1 must be bytes or buffer, not str
Run Code Online (Sandbox Code Playgroud)
当然,将数据写入以非二进制模式打开的文件可以解决问题,但我喜欢在Py3中处理Unicode的方式,并希望在写入文件之前对数据进行特定编码,并在读取文件时对其进行解码.
我该如何解决这个问题?