我想写一个文本文件,其中创建了许多行,所以我想知道如何将每个值放在一个新行上。
这是我的代码:
import itertools
from itertools import permutations , combinations
lista=[]
splits=itertools.permutations('0123456789', 5)
for x in splits:
lista.append(x)
f=open('lala.txt', 'w')
for i in lista:
f.write(str(i))
在这部分中,我需要设置换行符:f.write(str(i))
我尝试过:f.write(str(i)\n)
但是给了我一个错误
答案 0 :(得分:6)
您可以使用:
f.write(str(i) + '\n')
答案 1 :(得分:3)
由于您的行已在列表中,因此您可以使用writelines()
:
import itertools
lista = [",".join(i)+'\n' for i in itertools.permutations('0123456789',5)]
with open('lala.txt', 'w') as f:
f.writelines(lista)
我已经使用with
statement会自动为您关闭文件;并使用list comprehension创建了最初的排列列表。
答案 2 :(得分:1)
编辑列表本身可能是不可取的。在这种情况下,您可以csv
模块:
import itertools, os, csv
lista = list(itertools.permutations('0123456789',5))
with open('lala.txt', 'w', newline=os.linesep) as f:
writer = csv.writer(f, quoting=csv.QUOTE_NONE)
writer.writerows(lista)
quoting=csv.QUOTE_NONE
将删除显示的"
标记,因为排列的项目是字符串。