我在 Python2.x 中使用以下内容;
import csv
f = open('test.csv', 'wb')
writer = csv.writer(f)
writer.writerow((fpath, md5sum, size)) # <str>, <str>, <int>
这没有任何问题。然而,当我在 Python3 中运行它时,我得到一个 TypeError。
writer.writerow((fpath, md5sum, size))
TypeError: write() argument 1 must be bytes or buffer, not str
当然,将数据写出到一个以非二进制模式打开的文件就可以了,但我喜欢 Py3 中处理 Unicode 的方式,希望在写入文件之前专门对数据进行编码,并在写入文件时对其进行解码从中读取。
我该如何解决这个问题?
最佳答案
f = open('test.csv', 'w', encoding='utf-8', newline='')
关于python - csv模块python3.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4334907/