Python 101在这里。我为咖啡店老板创建了一个程序来跟踪库存。我应该通过允许所有者从文件中删除数据来修改文件。要求所有者输入要删除的描述。如果存在描述,则删除咖啡名称和数量。如果找不到描述,则显示消息:在文件中找不到该项目。”到目前为止,我收到的建议是将文件内容读取到行列表中,过滤掉不需要的行,并将列表写回到文件中。
这是我到目前为止所拥有的
with open('coffeeInventory.txt', 'w') as f:
f.write('Blonde Roast=15\n')
f.write('Medium Roast=21\n')
f.write('Flavored Roast=10\n')
f.write('Dark Roast=12\n')
f.write('Costa Rica Tarrazu=18\n')
f.close()
sum=0
with open('coffeeInventory.txt', 'r') as f:
for line in f.readlines():
sum += int(line.split("=")[1])
print(line)
f.close()
print('Total Pounds of Coffee= ', sum)
with open('coffeeInventory.txt') as f:
lineList = f.readlines()
lineList= [line.rstrip('\n') for line in open('coffeeInventory.txt')]
print(lineList)
答案 0 :(得分:0)
也许这可以帮助您入门
import io
f = io.StringIO()
f.write('Blonde Roast=15\n')
f.write('Medium Roast=21\n')
f.write('Flavored Roast=10\n')
f.write('Dark Roast=12\n')
f.write('Costa Rica Tarrazu=18\n')
f.seek(0)
lineList = f.readlines()
print(lineList)
deleteThis = 'Dark Roast'
newList = [line for line in lineList if deleteThis not in line]
print(newList)
答案 1 :(得分:0)
我会从其他答案中走另一条路,实际上是建议一个JSON文件。
首先,您必须创建一个字典。字典中的每个元素都有一个键和一个值。
coffee_inventory = {
"Blonde Roast": 15
}
您可以通过在方括号中指定名称来访问广告资源。
coffee_inventory["Blonde Roast"]
Output: 15
要将键和值添加到字典中,您要做的就是在方括号中指定键,然后再加上等号和值。
coffee_inventory["Medium Roast"] = 21
因此,现在的字典就是这样:
coffee_inventory = {
"Blonde Roast": 15,
"Medium Roast": 21
}
您将必须使用JSON来保存和检索文件。
import json
coffee_inventory = {
"Blonde Roast": 15,
"Medium Roast": 21
}
# Saving the JSON to a file.
# "indent=4" is for better styling.
with open("inventory.json", "w") as file:
json.dump(coffee_inventory, file, indent=4)
# Retrieving the JSON.
with open("inventory.json", "r") as file:
coffee_inventory = json.load(file)
print(coffee_inventory)
Output: {'Blonde Roast': 15, 'Medium Roast': 21}
最后要删除一个值,只需使用del
。例如,要删除“ Blonde Roast”,请执行以下操作。
del coffee_inventory["Blonde Roast"]
这是您需要了解的有关JSON的全部信息,我相信您可以将本指南中的所有内容连接到您的程序,并使其比以前更好。