【问题标题】:How to I modify an external list? [closed]如何修改外部列表? [关闭]
【发布时间】:2016-09-22 13:49:15
【问题描述】:

我正在尝试用 python 编写这个东西,但我遇到了障碍。我有这个列表,我想修改它,并在程序退出后保留更改。我不知道从哪里开始。

本质上,我想要一个可以访问和修改的列表,并且在使用它的东西关闭后会被保存而不是重置。

编辑:这是我的想法;我有一个清单,我们称之为篮子。 我想编写一个程序以在“篮子”中添加和删除,并在关闭程序后保留更改。希望澄清......我尝试使用全局,但这很有趣,所以我基本上删除了那个版本。

【问题讨论】:

  • 您需要提供您尝试过的代码。
  • 请发布您的代码,这将有助于识别您的问题

标签: python python-3.5


【解决方案1】:

这是一个让您开始使用普通 python 的示例。该示例包括一种将列表保存到文件的方法和一种从文件中读取的方法。由于您没有提供任何您尝试过的代码,因此您的工作就是按照您需要的方式解决这个问题。

#saving a list to a file
items = ['apple', 'pear', 'grape']


file = open('C:\PythonTest\somefile.txt', 'w+')
for item in items:
    file.write('%s\n' % item)

file.close()


#reading a list from a file
items = []
with open('C:\PythonTest\somefile.txt') as reader:
    for line in reader:
        items.append(line.rstrip("\r\n"))
print(items)

【讨论】:

    【解决方案2】:

    您可以使用 json、pickle 或任何类似的库将数据写入文件并将其读回并存储在列表中。这将在您当前的工作目录中创建文件 save.json,其中包含有关您的列表的 json 信息。您会注意到您的列表将始终包含您之前添加的数字,它不会“忘记”您添加到列表中的内容,因为它保存在文件中。

    import os
    import json
    
    foo = [1,2,5,9] #default
    
    #if safe file exists, load its contents into foo list
    if os.path.isfile("save.json"): 
        with open("save.json", "r") as file:
            foo = json.loads(file.read())
    
    foo.append(int(input("Enter a number to add to foo")))
    print(foo)
    
    #write foo list to file
    with open("save.json", "w") as file: 
        file.write(json.dumps(foo))
    

    【讨论】:

    • 谢谢!这很有帮助!
    【解决方案3】:

    这可以通过外部文件来实现。

    只需将列表写入文件,然后可以检索此信息,将其作为列表进行操作,然后覆盖。

    据我所知,没有其他持久存储方式。

    【讨论】:

      猜你喜欢
      • 2013-04-23
      • 2013-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-28
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      相关资源
      最近更新 更多