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"