[英]How to write sublists to a text file line by line?
def chunks(l, n):
for i in range(0, len(l), n):
yield l[i:i+n]
boleta.write(str(list(chunks(carrito, 3))))
我正在使用此代码创建每个包含3个元素的子列表,但我需要逐行编写子列表,而不是全部写在一行中。
我有的:
[[1, '001', 40], [1, '002', 20]]
我需要的:
[1, '001', 40]
[1, '002', 20]
你不应该将整个结果转换到一个列表,然后将其转换成一个字符串,你应该通过输出迭代 ,并且每个个体子表转换为字符串。 喜欢:
for sublist in chunks(carrito, 3):
boleta.write(str(sublist))
boleta.write('\n')
或者,您可以将'\\n'.join(..)
输出放在一起,然后将结果字符串写入,例如:
boleta.write('\n'.join(str(subl) for subl in chunks(carrito, 3)))
在某些系统上, '\\n'
不是行分隔符。 您可以使用os.linesep
使程序更通用:
from os import linesep
boleta.write(linesep.join(str(subl) for subl in chunks(carrito, 3)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.