python - 有没有办法永久添加到 python 中的列表?
问题描述
我想创建一个程序,将我的比赛数据存储在按我的比赛长度排序的列表中(我是一名跑步者)。因此,当我添加它时,它会临时添加,一旦我重新启动代码,它就会删除旧代码。我希望它永久更改代码并永久添加。我的代码:
#All the sub-folders
fivek = []
tenk = []
twomi = []
sixteen = []
eight = []
four = []
two = []
Half = []
Full = []
#choose which folder
distance = input("Length of Race? (5k, 10k, 2mi, 1600, 800, 400, 200, Half, Full)")
if distance == "5k":
time=str(input("What was your time? (Put date in parenthesis Ex. 20:00(1-1-20))"))
fivek.append(time)
print(fivek)
我说得够清楚吗?让我知道我是否太朦胧。
所以像这样使用csv?
import csv
time = []
length = []
place = []
timeResult = input("What was your time?")
lengthResult = input("What was the race length?")
placeResult = input("Where was the race?")
pace.append(placeResult)
time.append(timeResult)
length.append(lengthResult)
with open('times.csv', newline='') as f:
thewriter = csv.writer(f)
thewriter.writerow([length, time, place])
解决方案
不是。Python 列表是在内存中创建的对象。Python 脚本启动时内存为空,脚本结束时内存中的对象消失。因此,您需要做的是从永久存储形式(例如磁盘上的文件)中填写您的列表。即您不想修改代码本身以包含您的数据。相反,您的代码从外部源读取数据。
所以你可能想看看这个csv
库:
https ://docs.python.org/3/library/csv.html 。这使您可以在脚本开始时从磁盘上的文件中读取以最初填充列表。然后,您将条目添加到脚本中的列表中,最后将更新的列表保存回磁盘。表格格式的 csv(逗号分隔值)文件的优点是它是纯文本,因此可以被许多其他软件读取,如果您想检查数据,特别适合在电子表格中打开那样。Pickling 是一种将 Python 对象直接保存到磁盘的方法,但是除了 Python 本身之外,其他任何东西都不能直接读取生成的文件。
最后,您可能会发现将所有数据保存在一个表中很方便,其中一列用于比赛长度,另一列用于比赛时间。这为以后的分析提供了更大的灵活性。在您的代码中,在读取以这种方式格式化的单个 csv 文件后,您将获得一个字典列表,其中每个条目都是一个 Python 字典,它有一个键(比赛长度)和一个值(比赛时间)。
推荐阅读
- javascript - 我的控制器中有 JS 变量的问题
- javascript - TypeError:无法将类作为函数调用
- javascript - 如何获取 Chrome 扩展程序以从 iframe 获取 Javascript 变量(dropzone)
- javascript - Kraken 交易所期货 API - 生成身份验证字符串 - 身份验证错误。Node.js
- system-verilog - const 对象句柄作为函数中的参数
- javascript - 输入带有电子邮件验证的输入,尝试清除错误消息并在单击复选框时使输入变灰
- regex - 如何在 awk 中生成错误消息列表?
- javascript - 在 reduce 函数中使用变量
- twitter-bootstrap - vb-tooltip 的自定义类
- linux-kernel - 如何在 Linux 中分配大的连续内存区域