如何避免最后一个逗号,而将整数数组写入Python中的文本文件
问题描述:
我需要编写一个整数数组到一个文本文件,但格式化的解决方案是在每个项目后添加逗号,我想避免最后一个。如何避免最后一个逗号,而将整数数组写入Python中的文本文件
的代码看起来是这样的:
with open(name, 'a+') as f:
line = ['FOO ', description, '|Bar|']
f.writelines(line)
f.writelines("%d," % item for item in values)
f.writelines('\n')
每行以什么样的阵列遵循包含一个小的描述,然后整数列表开始。循环中添加了新行,因为它们变得可用。
我得到的输出看起来是这样的:
FOO描述|酒吧| 274,549,549,824,824,824,824,824,794,765,765,736,736,736,736,736,
我想有它这个样子,没有最后一个逗号:
FOO description | Bar | 274,549,549,824,824,824,824,824,824,794,765,765,736,736,736,736,736
我无法找到可以与writelines()一起使用的解决方案,并且我需要避免在其他循环中进行冗长的处理。
答
您可以使用下面的示例对其进行分片。 它会一直删除最后一个字符。
line = ['FOO ', description, '|Bar|']
line = line[:-1]
f.writelines(line)
答
您可以在这里使用打印功能。
print(*values,sep=',',file=f)
如果您使用的是python2,请导入打印功能。
from __future__ import print_function
答
切片是最好的方法,适用于所有情况,至少在你的情况。
f.writelines(line[:-1])
的字符串转换通过映射或东西,列出然后执行:obj.rstrip(“”),之后将其写入文本文件,因为它最终会需要一个文本文件(字符串)写入文件! –
使用'','。join(values)'而不是格式? –
@Jon,这是一个答案。如果你不想写下来,我会记下这些观点。 :-) – user1712447