所以我坚持使用这个代码,重点是你输入汽车名称和你要租的汽车数量,但我可以弄清楚如何在租车后更改.txt文件中的字符串
def rental():
with open('cars.txt', 'r') as file: # cars.txt example:
# bmw:320:red:new:6
name = input('Car name: ')
for line in file:
s = line.split(':')`enter code here`
if name == s[0] :
amount = eval(input('Amount of cars'))
if amount > int(s[4]):
print('Amount is too big')
else:
t = str(int(s[4])-int(kolicina))
line.replace(s[4], t)
else:
print('Car does not exist')
答案 0 :(得分:0)
如果您使用' r打开电话,它将处于只读模式,因此请使用' r +'如果您希望能够写入文件,请执行以下操作:open('cars.txt', 'r+')
。
此外,line.replace
将返回字符串的副本,而不是替换文件中的行。
要替换它,最简单的方法就是读取所有内容,更改要更改的行,然后再将其写出来。否则,您也可以使用linecache模块再次直接跳到右侧。
如果可能的话,我建议在程序开始时读取文件,并在程序运行时将所有信息保存在RAM中,只在最后写入文件(或明确要求这样做),因为文件访问速度很慢。