欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用python進(jìn)行文件處理的庫(kù)存管理

 更新時(shí)間:2023年09月02日 09:44:42   作者:鯨落_  
庫(kù)存管理是任何處理實(shí)物商品的企業(yè)的一個(gè)重要方面,Python?提供了各種庫(kù)來(lái)讀取和寫(xiě)入文件,使其成為管理庫(kù)存的絕佳選擇,它允許我們使用?Python?等編程語(yǔ)言來(lái)操作計(jì)算機(jī)文件系統(tǒng)上的文件,在本文中,我們將探討如何使用文件處理在?Tkinter?中實(shí)現(xiàn)庫(kù)存管理系統(tǒng)

使用 Tkinter 的庫(kù)存管理系統(tǒng)項(xiàng)目

將新產(chǎn)品添加到庫(kù)存

此函數(shù)將新的庫(kù)存條目添加到文本文件中。它從輸入字段檢索項(xiàng)目名稱(chēng)和數(shù)量,以追加模式打開(kāi)文件,并寫(xiě)入 item_name、item_qty。然后它會(huì)清除輸入字段。

def add_inventory():
	item_name = item_name_entry.get()
	item_qty = int(item_qty_entry.get())
	with open('inventory.txt', 'a') as file:
		file.write(f'{item_name},{item_qty}\n')
	item_name_entry.delete(0, tk.END)
	item_qty_entry.delete(0, tk.END)

更新庫(kù)存

此函數(shù) update_inventory() 根據(jù)給定的輸入更新值更新現(xiàn)有的 item_name 和 item_qty 。它以寫(xiě)入模式打開(kāi)文件并從當(dāng)前清單中讀取數(shù)據(jù)。它循環(huán)遍歷每一行,查找與 item_name 的匹配項(xiàng),如果找到則更新記錄。

def update_inventory():
	item_name = item_name_entry.get()
	item_qty = int(item_qty_entry.get())
	with open('inventory.txt', 'r') as file:
		inventory_data = file.readlines()
	with open('inventory.txt', 'w') as file:
		for line in inventory_data:
			name, qty = line.strip().split(',')
			if name == item_name:
				file.write(f'{name},{item_qty}\n')
			else:
				file.write(line)
	item_name_entry.delete(0, tk.END)
	item_qty_entry.delete(0, tk.END)

搜索并顯示當(dāng)前庫(kù)存

該函數(shù)從需要搜索的輸入字段中提取 item_name 。當(dāng)以只讀模式打開(kāi)時(shí),它會(huì)迭代 inventory.txt 文件的每一行。在這里,如果商品名稱(chēng)與搜索名稱(chēng)匹配,我們將使用 result_label 顯示商品名稱(chēng)和金額。

def search_inventory():
	search_name = item_name_entry.get()
	with open('inventory.txt', 'r') as file:
		for line in file:
			name, qty = line.strip().split(',')
			if name == search_name:
				result_label.config(text=f'{name} - {qty}')
				return
	result_label.config(text=f'{search_name} not found in inventory.')
	item_name_entry.delete(0, tk.END)

從庫(kù)存中移除物品

remove_inventory() 函數(shù)從 inventory.txt 文件中刪除特定的庫(kù)存條目。該函數(shù)檢索要從輸入字段中刪除的項(xiàng)目名稱(chēng)。它以讀取模式打開(kāi) inventory.txt 文件,并將所有庫(kù)存數(shù)據(jù)讀入列表中。然后以寫(xiě)入模式再次打開(kāi)該文件。它會(huì)迭代庫(kù)存數(shù)據(jù)中的每一行,檢查商品名稱(chēng)是否與要?jiǎng)h除的商品名稱(chēng)匹配,然后跳過(guò)寫(xiě)入該行。

def remove_inventory():
	remove_name = item_name_entry.get()
	with open('inventory.txt', 'r') as file:
		inventory_data = file.readlines()
	with open('inventory.txt', 'w') as file:
		for line in inventory_data:
			name, qty = line.strip().split(',')
			if name != remove_name:
				file.write(line)
	item_name_entry.delete(0, tk.END)
	item_qty_entry.delete(0, tk.END)

生成完整的庫(kù)存清單

generate_inventory  () 函數(shù)從文本文件生成庫(kù)存條目的完整列表。它讀取文件并將庫(kù)存數(shù)據(jù)存儲(chǔ)在列表中。然后,庫(kù)存數(shù)據(jù)將連接成帶有換行符的字符串。最后,該字符串顯示在result_label中以顯示完整的庫(kù)存列表。

def generate_inventory():
	with open('inventory.txt', 'r') as file:
		inventory_data = file.readlines()
	inventory_text = '\n'.join(inventory_data)
	result_label.config(text=inventory_text)

完整代碼

import tkinter as tk
# 添加新庫(kù)存分錄的功能
def add_inventory():
	item_name = item_name_entry.get()
	item_qty = int(item_qty_entry.get())
	with open('inventory.txt', 'a') as file:
		file.write(f'{item_name},{item_qty}\n')
	item_name_entry.delete(0, tk.END)
	item_qty_entry.delete(0, tk.END)
# 更新現(xiàn)有庫(kù)存分錄的功能
def update_inventory():
	item_name = item_name_entry.get()
	item_qty = int(item_qty_entry.get())
	with open('inventory.txt', 'r') as file:
		inventory_data = file.readlines()
	with open('inventory.txt', 'w') as file:
		for line in inventory_data:
			name, qty = line.strip().split(',')
			if name == item_name:
				file.write(f'{name},{item_qty}\n')
			else:
				file.write(line)
	item_name_entry.delete(0, tk.END)
	item_qty_entry.delete(0, tk.END)
# 用于搜索和顯示庫(kù)存條目的功能
def search_inventory():
	search_name = item_name_entry.get()
	with open('inventory.txt', 'r') as file:
		for line in file:
			name, qty = line.strip().split(',')
			if name == search_name:
				result_label.config(text=f'{name} - {qty}')
				return
	result_label.config(text=f'{search_name} not found in inventory.')
	item_name_entry.delete(0, tk.END)
# 刪除現(xiàn)有庫(kù)存分錄的功能
def remove_inventory():
	remove_name = item_name_entry.get()
	with open('inventory.txt', 'r') as file:
		inventory_data = file.readlines()
	with open('inventory.txt', 'w') as file:
		for line in inventory_data:
			name, qty = line.strip().split(',')
			if name != remove_name:
				file.write(line)
	item_name_entry.delete(0, tk.END)
	item_qty_entry.delete(0, tk.END)
# 用于生成完整庫(kù)存列表的函數(shù)
def generate_inventory():
	with open('inventory.txt', 'r') as file:
		inventory_data = file.readlines()
	inventory_text = '\n'.join(inventory_data)
	result_label.config(text=inventory_text)
# 創(chuàng)建主窗口
root = tk.Tk()
root.title("Inventory Management")
# 輸入字段
item_name_label = tk.Label(root, text="Item Name:")
item_name_label.grid(row=0, column=0, padx=5, pady=5)
item_name_entry = tk.Entry(root)
item_name_entry.grid(row=0, column=1, padx=5, pady=5)
item_qty_label = tk.Label(root, text="Item Quantity:")
item_qty_label.grid(row=1, column=0, padx=5, pady=5)
item_qty_entry = tk.Entry(root)
item_qty_entry.grid(row=1, column=1, padx=5, pady=5)
# 創(chuàng)建按鈕
add_button = tk.Button(root, text="Add Inventory",
					command=add_inventory)
add_button.grid(row=2, column=0, padx=5, pady=5)
update_button = tk.Button(root, text="Update Inventory",
						command=update_inventory)
update_button.grid(row=2, column=1, padx=5, pady=5)
search_button = tk.Button(root, text="Search Inventory",
						command=search_inventory)
search_button.grid(row=3, column=0, padx=5, pady=5)
remove_button = tk.Button(root, text="Remove Inventory",
						command=remove_inventory)
remove_button.grid(row=3, column=1, padx=5, pady=5)
generate_button = tk.Button(root, text="Generate Inventory",
							command=generate_inventory)
generate_button.grid(row=4, column=0, padx=5, pady=5)
result_label = tk.Label(root, text="List")
result_label.grid(row=5, column=0, padx=5, pady=5)
root.mainloop()

以上就是使用python進(jìn)行文件處理的庫(kù)存管理的詳細(xì)內(nèi)容,更多關(guān)于python庫(kù)存管理的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 關(guān)于tf.matmul() 和tf.multiply() 的區(qū)別說(shuō)明

    關(guān)于tf.matmul() 和tf.multiply() 的區(qū)別說(shuō)明

    這篇文章主要介紹了關(guān)于tf.matmul() 和tf.multiply() 的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • 如何使用django的MTV開(kāi)發(fā)模式返回一個(gè)網(wǎng)頁(yè)

    如何使用django的MTV開(kāi)發(fā)模式返回一個(gè)網(wǎng)頁(yè)

    這篇文章主要介紹了如何使用django的MTV開(kāi)發(fā)模式返回一個(gè)網(wǎng)頁(yè),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例

    python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例

    這篇文章主要介紹了python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • 詳解pyqt中解決國(guó)際化tr()函數(shù)不起作用的問(wèn)題

    詳解pyqt中解決國(guó)際化tr()函數(shù)不起作用的問(wèn)題

    本文主要介紹了pyqt中解決國(guó)際化tr()函數(shù)不起作用的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • python將字符串轉(zhuǎn)變成dict格式的實(shí)現(xiàn)

    python將字符串轉(zhuǎn)變成dict格式的實(shí)現(xiàn)

    這篇文章主要介紹了python將字符串轉(zhuǎn)變成dict格式的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Python實(shí)現(xiàn)Socket.IO的在線(xiàn)游戲場(chǎng)景方式

    Python實(shí)現(xiàn)Socket.IO的在線(xiàn)游戲場(chǎng)景方式

    本文介紹了Socket.IO的基本概念、應(yīng)用場(chǎng)景,并通過(guò)一個(gè)簡(jiǎn)單的多人在線(xiàn)實(shí)時(shí)對(duì)戰(zhàn)游戲案例,展示了如何使用Python和Socket.IO庫(kù)實(shí)現(xiàn)實(shí)時(shí)通信,Socket.IO的核心是事件驅(qū)動(dòng)模型,支持WebSocket協(xié)議,并在不支持的情況下回退到其他傳輸方式
    2025-01-01
  • Python數(shù)據(jù)分析之?Matplotlib?餅圖繪制

    Python數(shù)據(jù)分析之?Matplotlib?餅圖繪制

    這篇文章主要介紹了Python數(shù)據(jù)分析之?Matplotlib?餅圖繪制,文章基于python的相關(guān)資料展開(kāi)詳細(xì)的餅圖繪制,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • 如何更改jupyter的默認(rèn)文件路徑

    如何更改jupyter的默認(rèn)文件路徑

    這篇文章主要介紹了如何更改jupyter的默認(rèn)文件路徑問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • python tkinter 設(shè)置窗口大小不可縮放實(shí)例

    python tkinter 設(shè)置窗口大小不可縮放實(shí)例

    這篇文章主要介紹了python tkinter 設(shè)置窗口大小不可縮放實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Python爬蟲(chóng) bilibili視頻彈幕提取過(guò)程詳解

    Python爬蟲(chóng) bilibili視頻彈幕提取過(guò)程詳解

    這篇文章主要介紹了Python爬蟲(chóng) bilibili視頻彈幕提取過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論