最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

此函數(shù)將新的庫存條目添加到文本文件中。它從輸入字段檢索項(xiàng)目名稱和數(shù)量,以追加模式打開文件,并寫入 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)

更新庫存

此函數(shù) update_inventory() 根據(jù)給定的輸入更新值更新現(xiàn)有的 item_name 和 item_qty 。它以寫入模式打開文件并從當(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)前庫存

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

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)

從庫存中移除物品

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

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)

生成完整的庫存清單

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

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
# 添加新庫存分錄的功能
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)有庫存分錄的功能
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)
# 用于搜索和顯示庫存條目的功能
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)有庫存分錄的功能
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)
# 用于生成完整庫存列表的函數(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)行文件處理的庫存管理的詳細(xì)內(nèi)容,更多關(guān)于python庫存管理的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python使用Matplotlib繪制基礎(chǔ)可視化圖表的完整指南

    Python使用Matplotlib繪制基礎(chǔ)可視化圖表的完整指南

    在Python中進(jìn)行數(shù)據(jù)可視化,最常用且功能強(qiáng)大的庫是?Matplotlib,它可以幫助你輕松繪制出柱狀圖,折線圖,餅圖,散點(diǎn)圖等,下面小編就和大家詳細(xì)介紹一下具體實(shí)現(xiàn)方法吧
    2026-05-05
  • python流程控制詳細(xì)介紹

    python流程控制詳細(xì)介紹

    這篇文章主要介紹了python流程控制,文章主要根據(jù)python流程控制的相關(guān)資料展開全文內(nèi)容,具有一定的參考解釋,需要的小伙伴可以參考一下,希望對(duì)你有所幫助
    2021-12-12
  • 如何使用python代碼操作git代碼

    如何使用python代碼操作git代碼

    Git 是一個(gè)開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目。本文通過實(shí)例代碼給大家介紹如何使用python代碼操作git,感興趣的朋友一起看看吧
    2020-02-02
  • python+numpy實(shí)現(xiàn)的基本矩陣操作示例

    python+numpy實(shí)現(xiàn)的基本矩陣操作示例

    這篇文章主要介紹了python+numpy實(shí)現(xiàn)的基本矩陣操作,結(jié)合實(shí)例形式分析了Python使用numpy模塊針對(duì)矩陣進(jìn)行創(chuàng)建、增刪查改、索引、運(yùn)算相關(guān)操作實(shí)現(xiàn)技巧,注釋中包含有詳細(xì)的說明,需要的朋友可以參考下
    2019-07-07
  • Python 實(shí)現(xiàn)自動(dòng)化Excel報(bào)表的步驟

    Python 實(shí)現(xiàn)自動(dòng)化Excel報(bào)表的步驟

    這篇文章主要介紹了Python 實(shí)現(xiàn)自動(dòng)化Excel報(bào)表的步驟,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • 對(duì)python中Librosa的mfcc步驟詳解

    對(duì)python中Librosa的mfcc步驟詳解

    今天小編就為大家分享一篇對(duì)python中Librosa的mfcc步驟詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python實(shí)現(xiàn)爬取圖書封面

    python實(shí)現(xiàn)爬取圖書封面

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)爬取圖書封面的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Python的字符串操作簡(jiǎn)單實(shí)例

    Python的字符串操作簡(jiǎn)單實(shí)例

    這篇文章主要介紹了Python的字符串操作簡(jiǎn)單實(shí)例,字符串有許多種操作方式,本文帶來幾個(gè)操作實(shí)例,快來一起看看吧
    2023-04-04
  • python中seaborn包常用圖形使用詳解

    python中seaborn包常用圖形使用詳解

    今天小編就為大家分享一篇python中seaborn包常用圖形使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 解決Tensorflow使用pip安裝后沒有model目錄的問題

    解決Tensorflow使用pip安裝后沒有model目錄的問題

    今天小編就為大家分享一篇解決Tensorflow使用pip安裝后沒有model目錄的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06

最新評(píng)論

乌拉特前旗| 阿克苏市| 酉阳| 株洲县| 永平县| 延川县| 犍为县| 云阳县| 西昌市| 雷州市| 商都县| 织金县| 阜平县| 芦山县| 平湖市| 怀柔区| 辉县市| 定襄县| 顺昌县| 罗甸县| 喀喇沁旗| 嘉定区| 嘉义县| 锡林浩特市| 南部县| 通海县| 油尖旺区| 栖霞市| 文安县| 忻城县| 巫溪县| 平和县| 临朐县| 张家口市| 杨浦区| 阿勒泰市| 交城县| 蓬安县| 蒲江县| 上栗县| 阿拉善右旗|