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

Python列表数据结构主要用于在单个变量中存储多个项。Python列表与其他编程语言中的数组非常相似。列表的常用用例是将列表及其项存储到持久存储中,以便以后读取。在数据库中存储列表有不同的方法。但是,将一个列表放入数据库可能代价高昂,而且很难实现。另一种方法是序列化列表并将其存储在文件中。简单列表被写入一个文件。

null

使用Write()和Read()方法将列表写入和读取到文件中

为了将列表写入和读取到文件中,可以使用文件方法write()和read()。在下面的示例中,我们将创建一个名为countries和store countries的列表。此列表将写入名为“countries.txt”的文件中。

countries=['USA','Turkey','Germany']with open('countries.txt', 'w') as file:    for country in countries:        file.write('%s' % country)

我们可以看到每一项都存储在单独的行中。所以在这个例子中,列表项被一个接一个地迭代,每个项都被写入名为 国家.txt 在每一项中 “行尾已添加。

在将列表写入文件后,我们通常需要将此文件读入列表。将文件读入列表与写入文件非常相似。

countries=[]

with open('countries.txt', 'r') as filehandle:
    for line in file:
        countries.append(line[:-1])

使用writelines()和readlines()方法将列表写入和读取到文件中,

Python还提供 writelines() 读线() 方法,以便用一条语句写入和读取多行。writelines()可用于将列表写入文件。由于writelines()方法一次写入所有提供的数据,因此应该为每个列表项提供行尾。

countries=['USA','Turkey','Germany']

with open('countries.txt', 'w') as file:

    file.writelines('%s' % country for country in countries)

可以使用readlines()方法读取文件写入列表。名为countries的文件使用readlines()方法读取所有行,并且每行都用它们迭代一个循环。每个行项目都存储在名为countries的列表中。

# define empty list
countries= []

# open file and read the content in a list
with open('countries.txt', 'r') as file:
    countries = [country.rstrip() for country in file.readlines()]

使用pickle将列表写入和读取到文件中

pickle是Python提供的序列化和存储模块。pickle模块提供dump()方法,以便序列化提供的数据并将其存储在文件中。pickle模块以二进制格式序列化数据,这意味着写入的文件不能像文本文件那样读取。dump()方法接受两个参数,第一个是要序列化的数据,第二个是要存储的文件句柄。filehandle应该已经创建并且能够写入数据。

import pickle

countries=['USA','Turkey','Germany']

with open('countries.data', 'wb') as file:
    pickle.dump(countries, file)

python列表存储文件可以用pickle.load()方法读取。pickle的load()方法只接受一个参数,即我们要读取的文件。

import pickle

countries=[]

with open('countries.data', 'rb') as file:
    countries=pickle.load(file)
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享