【发布时间】:2021-07-12 13:54:44
【问题描述】:
我有一个名为 (data.txt) 的文件:
243521,Biscuit,Flour:Cream,89.5,9,1
367534,Bread,Flour,67.3,1,2
463254,Chocolate,Cocoa butter:Sugar:Milk powder,45.6,4,0
120014,Buns,Wheat Flour,24.9,5,2
560214,Cake,Flour:Baking Powder:Cake Mix,70.5,3,1
123456,burger,bread crumbs:beef:tomato,99.9,10,0
最后一个逗号后的数字是已售商品。我想写一个代码,只要最后一个逗号后面的数字是0,就可以删除一行。这是我写的代码,但即使最后一个逗号后面的数字不为零,它也会删除该行:
productID=input("")
with open("data.txt","r+") as file:
lines= file.readlines()
file.seek(0)
for line in lines:
productInfo= line.split(",")
y=0
if productInfo[5]>"0":
if y==0:
print("Product cannot be removed: sold items must be 0")
y=1
elif productID not in line:
file.write(line)
file.truncate()
print("Product is removed successfully")
【问题讨论】:
-
产品ID是开头的6位数字,我在代码中定义了。
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)应包括所需的行为、特定问题或错误和所需的最短代码作为格式化文本(不是图像)在问题本身中。没有明确的问题陈述的问题对其他读者没有用处。请参阅:minimal reproducible example。
-
我的问题是即使最后一个逗号后面的数字不为零,这段代码也会删除该行
-
y是在哪里定义的?productID呢?请发帖minimal reproducible example。 -
y的值从未使用过,应从您的代码中删除。它不是最小示例的一部分
标签: python-3.x file