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

我有一个名称列表,我希望能够在更改后保存它(就像我要向列表中添加另一个名称一样),然后稍后再次加载它。到目前为止,我通过以下方式保存它: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


SMILET
浏览 159回答 4
4回答

皈依舞

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

开心每一天1111

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

德玛西亚99

您可以将每个列表项保存到新行,然后在读取时重新创建列表。写入文件:# define list of placesplaces = ['Berlin', 'Cape Town', 'Sydney', 'Moscow']with open('listfile.txt', 'w') as filehandle:    for listitem in places:        filehandle.write('%s\n' % listitem)从文件读取:# define an empty listplaces = []# open file and read the content in a listwith 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)

牧羊人nacy

将保存代码更改为以下内容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()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python