[英]How to edit part of a specific line in a text file
我有一個庫存清單。 例如:
1003,桌子,12.99、19.99、45
1004,椅子,3.99、9.99、32
格式如下:產品代碼,名稱,成本價格,價格,數量
我如何更新數量,以便在下訂單時-減少1等?
這是我到目前為止的代碼:
def stockupdate():
itemname = input("Enter product name: ")
f = open('Stockinventory.txt', 'r')
search = f.readlines()
f.close()
for line in search:
lst = line.split(", ") #split
if str(itemname) == lst[1]: #Check to see if number entered is first parameter on list
print ("SIN: %s" % lst[0])
print ("Itemname: %s" % lst[1])
print ("Retail price: %s" % lst[2])
print ("Costprice: %s" % lst[3])
print ("Quantity Available: %s" % lst[4])
上面的第一部分僅向用戶顯示當前持有的產品信息
choice = input("Would you like to update quantity? y/n")
if choice == 'y':
newquantity = input("Enter new quantity: ")
with open('Stockinventory.txt', 'r') as f:
data = f.readlines()
f.close()
for line in data:
lst = line.split(", ")
if str(itemname) == lst[1]:
lst[4] = str(newquantity)
lst = line.join(", ")
f = open('Stockinventory.txt', 'w')
if itemname != lst[1]:
f.write(line)
else:
f.write(lst)
此刻,我總是最終刪除文本文件中已經存在的內容
感謝您的寶貴時間,我們將不勝感激
我會使用cvs模塊閱讀它。 然后將所有數據放入dict或放入pandas數據框中,
無論哪種方式,您都可以操作內容。
完成后,您可以將數據寫回到磁盤
如果要按自己的方式進行操作,則應在循環外打開和關閉文件,然后寫所有行,替換要更改的行。 我的經驗是,這種方法太困難了,尤其是當您要操作更復雜的項目時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.