为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 txt 文件中保存和加载列表

如何在 txt 文件中保存和加载列表

SMILET 2022-08-16 17:47:39
我有一个名称列表,我希望能够在更改后保存它(就像我要向列表中添加另一个名称一样),然后稍后再次加载它。到目前为止,我通过以下方式保存它:list = ["Bob", "Fred", "George", "Garry"]    text_file = open("/Users/xxxxxx/Desktop/names.txt", "w")    text_file.write(str(list))    text_file.close()    print("Your list has been saved!")这会将列表保存为字符串,因此当我再次加载它时,我无法将其作为列表进行访问。['Bob', 'Fred', 'George', 'Garry']testList=[]with open("/Users/xxxxxxx/Desktop/names.txt") as f:        for line in f:            testList.append(line)        print(testList[0])输出:['Bob', 'Fred', 'George', 'Garry']我想要它,这样我就可以在加载我之前保存的列表后获得。print(testList[0])Bob
查看完整描述

4 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

如果你想在python中保存和读取文件(而不是在外部系统中),你可以看看pickle。这是一个python模块,它将变量存储在pickle文件中,并可以轻松重新加载文件并直接再次开始使用它!


查看完整回答
反对 回复 2022-08-16
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

Txt 文档无法保存列表元素,但您可以将列表作为 JavaScript 对象存储在 JSON 中。有关如何执行此操作的信息,请转到此处:https://www.w3schools.com/python/python_json.asp。实现此目的的另一种方法是将名称逐个打印到txt文档中,然后使用read函数读取它并将其放回列表中。


查看完整回答
反对 回复 2022-08-16
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

您可以将每个列表项保存到新行,然后在读取时重新创建列表。


写入文件:


# define list of places

places = ['Berlin', 'Cape Town', 'Sydney', 'Moscow']


with open('listfile.txt', 'w') as filehandle:

    for listitem in places:

        filehandle.write('%s\n' % listitem)

从文件读取:


# define an empty list

places = []


# open file and read the content in a list

with open('listfile.txt', 'r') as filehandle:

    for line in filehandle:

        # remove linebreak which is the last character of the string

        currentPlace = line[:-1]


        # add item to the list

        places.append(currentPlace)


查看完整回答
反对 回复 2022-08-16
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

将保存代码更改为以下内容


text_file = open("/Users/xxxxxx/Desktop/names.txt", "w")

    text_file.writelines(list)

    text_file.close()

    print("Your list has been saved!")

这会将每个名称保存在新行上。writelines 函数会将列表中的每个字符串写入文件中的新行。当您想从文件中加载它时,您可以按照现在的工作方式进行,也可以执行以下操作。


testList=[]

with open("/Users/xxxxxxx/Desktop/names.txt") as f:

        testList = f.readlines()


查看完整回答
反对 回复 2022-08-16
  • 4 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信