Python - 将列表写入以列表内容命名的多个文件

时间:2015-11-17 06:10:31

标签: python list file

我有一个表示对象的列表,而这些对象的值为YEAR,NAME,NUMBER。 是否有可能循环遍历该对象列表,获取所有值并将该行写入以该对象命名的文件YEAR值?

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

3 个答案:

答案 0 :(得分:1)

要在文件中附加一行,请使用

lock

此处,open("filename","a") 代表追加。

答案 1 :(得分:0)

试试这个

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

答案 2 :(得分:0)

当您打开文件时,您需要具体使用您想要使用的模式,您可以参考以下链接获取更多详细信息:

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()