📜  在Python中读取和写入列表到文件(1)

📅  最后修改于: 2023-12-03 15:37:38.590000             🧑  作者: Mango

在Python中读取和写入列表到文件

在Python中,我们可以通过文件处理模块来操作文件,将列表数据写入到文件中,或者从文件中读取列表数据,并且可以选择不同的方式来存储列表数据。

写入列表到文件

我们可以使用内置函数open()在Python中打开一个文件,并使用w模式来写入数据到文件中。如下所示:

data = ['Hello', 'World', 'Python']
with open('listdata.txt', mode='w') as file:
    for item in data:
        file.write('%s\n' % item)

在上面的代码中,我们通过open()方法创建一个名为listdata.txt的文件,并将mode参数设置为w,以便我们打开该文件进行写入操作。接着,我们通过循环遍历列表并向文件中写入每个列表项。最后,我们使用with语句关闭文件。

读取文件到列表

我们可以使用内置函数open()来打开一个文件,这次不是使用w模式,而是使用r模式来读取文件的内容,如下所示:

data = []
with open('listdata.txt', mode='r') as file:
    data = [line.strip() for line in file]
print(data)

在上面的代码中,我们使用open()打开一个名为listdata.txt的文件,并将mode参数设置为r,以便我们打开该文件进行读取操作。接着,我们循环遍历文件中的每一行,并调用strip()方法将其从换行符中分离出来。最后,我们将数据存储到一个名为data的列表中,并使用print语句显示该列表。

存储列表数据

我们可以将列表数据存储为CSV(逗号分隔值)文件,以便数据可以在其他程序中很容易地导入和使用。如下所示:

import csv

data = [['John', 32], ['Mike', 25], ['Sara', 28]]

with open('listdata.csv', mode='w') as file:
    writer = csv.writer(file)
    for row in data:
        writer.writerow(row)

在上面的代码中,我们导入了CSV模块,并使用open()方法创建了一个名为listdata.csv的文件,并设置mode参数为w。接着,我们使用csv.writer()方法创建一个写入器对象,并通过循环遍历列表中的每一行来向文件中写入行。

读取CSV文件到列表

我们可以使用CSV模块中的reader()函数来从CSV文件中读取数据并返回一个列表。如下所示:

import csv

data = []

with open('listdata.csv', mode='r') as file:
    reader = csv.reader(file)
    for row in reader:
        data.append(row)

print(data)

在上面的代码中,我们导入了CSV模块,并使用open()方法打开一个名为listdata.csv的文件,并设置mode参数为r。接着,我们使用csv.reader()方法创建一个读取器对象,并通过循环遍历读取器对象中的每一行来向列表中添加行。最后,我们使用print语句显示该列表。

结论

您现在可以使用Python在文件中读取和写入列表数据了。无论您使用哪种方法来写入和读取数据,这些步骤都是相同的:打开文件、执行所需的操作、关闭文件。将列表数据存储为CSV文件是另一个很好的选择,因为它使数据更易于导入和处理。