阅读与阅读修改文件中的行

时间:2018-05-26 21:29:57

标签: python

我希望用户修改文件中的行,并包含一些整数计算(计算显然会计算)但是用户提供了数量。

我的文件包含:

You Have purchased 8 Bananas of 40$
You have purchased 2 Apples of 2$

现在用户在这种情况下选择例如第2行的行。然后程序会询问您要编辑或删除的内容。如果用户选择编辑以便它询问数量,那么如果用户此次输入的数量为5个苹果。我希望文件更改为2到5,并使用简单的公式计算总价。意思是原始的数量除以价格,所以我们将获得原始价格然后它乘以新的数量并保存在2美元的位置。更改此行后,将保存回原始位置的文件。

我尝试了什么:

line = f.readlines()
option = int(input('Select line number to edit or remove:'))
selectedline = line[option-1]
print(selectedline,'[Selected]')
action = int(input('''What you want to do
[1] Edit Quantity
[2] Remove
'''))
edit = selectedline.split()    

if action == 1:
    qty = int(input('Enter new quanity'))
    edit[-1] = edit[3]/edit[-1]
    edit[3] = qty
    edit[-1] = qty*edit[-1]
    print(edit)

但问题是当我使用split时,数据以字符串的形式进入列表,错误不能乘以和除以字符串。我怎样才能将这条线重新恢复到原来的位置。

1 个答案:

答案 0 :(得分:0)

示例代码: -

line = f.readlines()
option = int(input('Select line number to edit or remove:'))
selectedline = line[option-1]
print(selectedline,'[Selected]')
action = int(input('''What you want to do
[1] Edit Quantity
[2] Remove
'''))
edit = selectedline.split()    

if action == 1:
    qty = int(input('Enter new quanity'))
    edit[-1] = str(float(edit[3])/float(edit[-1]))
    edit[3] = str(qty)
    edit[-1] = str(qty)
    print(edit)
    line = ' '.join(edit)
    # use line as per your needs