在Python中将列表写入文件的3种方法
在较早的脚本提示中,我向我们展示了如何在Python中执行shell命令。
在此快速教程中,将介绍几种方法来将列表写入Python中的文件。
将列表写入Python中的文件
实际上,我将讨论的方法用于将文本写入Python中的文件。
我在这里使用的例子讨论了将列表写入文件,但我们可以使用它来编写任何文本。
字符串等使用此处提到的函数。
方法1:使用print将列表用Python中的Python写入文件行
Python中的print命令可用于将列表的内容打印到文件。
列表元素将在输出文件中的新行中添加。
以下是我们参考的Python程序示例:
MyList = ["New York", "London", "Paris", "New Amsterdam"] MyFile=open('output.txt','w') for element in MyList: print >>MyFile, element MyFile.close()
文件output.txt以书写模式打开。
Python中的for循环在列表中的每个元素处迭代。
打印命令将元素写入打开的文件。
如果使用CAT命令显示输出文件的内容,则会:
New York London Paris New Amsterdam
如我们所见,列表元素已在输出文件中按行写入行。
在示例中,文件已以"W"选项以写入模式打开。
此模式下文件的所有先前内容都将被覆盖。
如果要保存文件的先前内容,则可以使用"A"而不是"W"以添加模式打开文件。
方法2:在Python中使用写入功能写入文件
现在让我们看到另一种方法可以将列表保存到Python中的文件。
我们将使用Write()函数。
Write()函数将字符串作为参数。
因此,我们将在列表中的每个元素上再次使用for循环并将其写入文件。
以下是Python程序的示例:
MyList = ["New York", "London", "Paris", "New Amsterdam"] MyFile=open('output.txt','w') for element in MyList: MyFile.write(element) MyFile.write('\n') MyFile.close()
请注意,列表中的元素没有新的行字符。
这就是为什么我在每次迭代之后添加新行字符'\ n',以便列表元素按行写入文件行。
如果我们不这样做,我们将在一行中看到所有列表内容。
方法3:使用Writelines()函数立即将所有行写入文件
我们看到的另外两种方法按照行方式按照行写入文件的内容。
writelines()方法是不同的。
此方法将列表列为输入,并将列表写入打开的文件。
这是一个简单的程序:
MyList = ["New York", "London", "Paris", "New Amsterdam"] MyFile=open('output.txt','w') MyFile.writelines(MyList) MyFile.close()
如果在Linux命令行中使用命令查看文件,那么我们将在输出中看到的内容:
New YorkLondonParisNew Amsterdam
我接受它不是最漂亮的输出。
但这是列表的确切内容。
如果要使用writelines函数按行文本打印线条,我们仍然可以这样做,但我们必须使用另外的努力。
我们可以在这里做的是修改列表本身并在每个元素后添加换行符。
现在,如果我们使用Writelines()打印列表,我们将通过行时尚逐行输出。
这是其中的示例程序:
MyList = ["New York", "London", "Paris", "New Amsterdam"] MyFile=open('output.txt','w') MyList=map(lambda x:x+'\n', MyList) MyFile.writelines(MyList) MyFile.close()