用换行符写文本文件

时间:2012-10-24 03:44:20

标签: python python-3.x

我想写一个文本文件,其中创建了许多行,所以我想知道如何将每个值放在一个新行上。

这是我的代码:

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)但是给了我一个错误

3 个答案:

答案 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将删除显示的"标记,因为排列的项目是字符串。