Python将一个列表写入多个名为lis的文件

2024-10-03 23:21:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个表示对象的列表,这些对象的值依次是YEAR、NAME和NUMBER。 然后是否可以循环遍历对象列表,获取所有值并将该行写入名为objects YEAR value的文件

inData是对象列表,outPath只是我想要它们去的文件夹。 当我执行代码时,似乎每年只表示一行。就像下一个写行会覆盖上一个值一样

代码示例:

def writeFileFromList(inData, outPath) :
    for row in inData:
        outfile = open(str(outPath +"/"+row.getYear(), "w+"))
        outfile.write(str(row) + "\n")
        outfile.close()

输出文件内容的示例:

2002;AAAAAA;1
2002;BBBBBB;2
2002;CCCCCC;3

Tags: 文件对象代码name示例number列表objects
3条回答

打开文件时,需要指定要使用的模式,有关详细信息,请参阅下面的链接:

https://docs.python.org/2/library/functions.html#open

在您的情况下,如果您想将内容附加到您的年度文件中,您应该使用“a”模式告诉python不要覆盖文件,因此下面是基于您的示例的更正代码:

def writeFileFromList(inData, outPath) :
    for row in inData:
        outfile = open(str(outPath +"/"+row.getYear(), "a"))
        outfile.write(str(row) + "\n")
        outfile.close()

试试这个

def writeFileFromList(inData, outPath) :
    for row in inData:
        with open(str(outPath +"/"+row.getYear(), "a")) as outfile:
        outfile.write(str(row) + "\n")

要将行附加到文件,请使用

open("filename","a")

这里,a代表append

相关问题 更多 >