我正在尝试编写 python 2/3 兼容代码来将字符串写入 csv 文件对象。这段代码:
line_as_list = [line.encode() for line in line_as_list]
writer_file = io.BytesIO()
writer = csv.writer(writer_file, dialect=dialect, delimiter=self.delimiter)
for line in line_as_list:
assert isinstance(line,bytes)
writer.writerow(line)
在 Python3 上给出此错误:
> writer.writerow(line)
E TypeError: a bytes-like object is required, not 'str'
但是 assert 的类型没有问题,那为什么会csv
产生错误呢?
我不能BytesIO
只用于 Python 2 和 3 吗?这里的问题在哪里?