怎么用python将列表写入文件_用python将列表写入文件?

本文介绍如何使用Python的csv库将列表内容写入或更新CSV文件,通过指定':'作为分隔符读写文件,并提供了不使用csv库的替代方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

你需要读入整个文件,处理它,然后写回整个文件。修改文件实际上是不可能的。在

通过指定参数分隔符是:,可以使用Python的csv库来帮助解析文件。通过这样做,每个条目都会自动作为参数列表读入,例如['12647859', 'Chips', '1.50', '50']import csv

stock_file = 'stock.csv'

stock = {}

with open(stock_file, 'rb') as f_stock:

csv_stock = csv.reader(f_stock, delimiter=':')

for cols in csv_stock:

stock[cols[0]] = cols

print stock

while True:

product_code = raw_input("Please enter product code: ")

product_quantity = int(raw_input("Please enter quantity: "))

try:

stock[product_code][3] = int(stock[product_code][3]) + product_quantity

break

except KeyError, e:

print "Unknown product ID, try again"

with open(stock_file, 'wb') as f_stock:

csv_stock = csv.writer(f_stock, delimiter=':')

csv_stock.writerows(stock.values())

因此,对于以下输入:

^{pr2}$

股票档案将更新如下:

^{3}$

注意,由于条目存储在字典中,因此文件中不维护顺序。如果这是必需的,那么可以将其转换为使用^{}

注意,如果不允许您使用csv库,可以按如下方式重新执行:stock_file = 'input.txt'

stock = {}

with open(stock_file, 'rb') as f_stock:

for line in f_stock:

cols = line.split(':')

stock[cols[0]] = [col.strip() for col in cols]

while True:

product_code = raw_input("Please enter product code: ")

product_quantity = int(raw_input("Please enter quantity: "))

try:

stock[product_code][3] = str(int(stock[product_code][3]) + product_quantity)

break

except KeyError, e:

print "Unknown product ID, try again"

with open(stock_file, 'wb') as f_stock:

f_stock.write('\n'.join(':'.join(line) for line in stock.values()))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值