python:如何使用输入更改.txt文件中的字符串

时间:2017-09-15 15:57:31

标签: python arrays string file

所以我坚持使用这个代码,重点是你输入汽车名称和你要租的汽车数量,但我可以弄清楚如何在租车后更改.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') 

1 个答案:

答案 0 :(得分:0)

如果您使用' r打开电话,它将处于只读模式,因此请使用' r +'如果您希望能够写入文件,请执行以下操作:open('cars.txt', 'r+')。 此外,line.replace将返回字符串的副本,而不是替换文件中的行。 要替换它,最简单的方法就是读取所有内容,更改要更改的行,然后再将其写出来。否则,您也可以使用linecache模块再次直接跳到右侧。 如果可能的话,我建议在程序开始时读取文件,并在程序运行时将所有信息保存在RAM中,只在最后写入文件(或明确要求这样做),因为文件访问速度很慢。