Python 如何修改此代码,使其替换上一个值并插入新值?

Python 如何修改此代码,使其替换上一个值并插入新值?,python,text-files,Python,Text Files,使用此代码,我正在写入文件,将数量添加到与其相应的裁剪相同的行中 以下是文本文件的内容: Tomato 2 4 1 Lettuce 3 8 7 目前,我的代码只是将数量附加到行的末尾。我要做的是在裁剪之后插入数量,并从行中删除最后的整数 因此,如果我要为作物输入'莴苣',为数量输入'9',那么文件将被修改,如下所示: Tomato 2 4 1 Lettuce 9 3 8 然而,我真的不知道如何做到这一点 我的代码 crop = input('Which crop? ') quantity

使用此代码,我正在写入文件,将
数量
添加到与其相应的
裁剪
相同的行中

以下是文本文件的内容:

Tomato 2 4 1
Lettuce 3 8 7 
目前,我的代码只是将
数量
附加到行的末尾。我要做的是在
裁剪
之后插入数量,并从行中删除最后的整数

因此,如果我要为
作物
输入'莴苣',为
数量
输入'9',那么文件将被修改,如下所示:

Tomato 2 4 1
Lettuce 9 3 8 
然而,我真的不知道如何做到这一点

我的代码

crop = input('Which crop? ')
quantity = input('How much? ')
file = ('cropdata.txt')           

if crop in open(file).read():
 with open(file, 'r') as file_read:
       lines = []

       for line in file_read:
           if crop in line:
               line = str(line.rstrip("\n") + quantity + " "  + "\n")
           lines.append(line)

 with open(file, 'w') as file_rewrite:
    file_rewrite.writelines(lines)
else:
 print('Crop not found.')
现在您有了一个数组
line\u parts
,它由
莴苣、3、8、
7
组成

您可以将数字条目向右移动一步,直到出现
莴苣、3、3、8
;然后用新的
数量替换
line\u零件[0]
,以获得
莴苣,9,8,7


line=line\u parts[0]+line\u parts[1]+line\u parts[2]+line\u parts[3]
,将其附加到行中,然后像以前一样继续。

不要这样保存数据。使用结构化文件存储数据:

  • XML
  • JSON
如果你愿意使用它,这项工作对你来说并不困难

line_parts = line.split (" ")  #possibly after stripping off final "\n"