基于Python編寫一個有趣的進程勾選器(Process?Selector)
簡介
一個基于Python的程序,使用tkinter模塊創(chuàng)建一個GUI界面,在Checklistbox中列出系統(tǒng)中正在運行的進程的名稱和PID,并允許用戶選擇進程并將其保存到文本文件中。
源代碼
import psutil import tkinter as tk def save_selected_processes(): # 獲取選中的進程名稱和PID selected_processes = [] for index in checklistbox.curselection(): process_info = checklistbox.get(index) selected_processes.append(process_info) # 將選中的進程名稱和PID寫入到文本文件中 with open("process.txt", "w") as f: for process_info in selected_processes: f.write(process_info + "\n") def update_checklistbox(): # 獲取系統(tǒng)中所有進程的信息 process_list = psutil.process_iter() # 清空Checklistbox checklistbox.delete(0, tk.END) # 循環(huán)獲取每個進程的名稱和PID,并添加到Checklistbox中 for process in process_list: try: process_name = process.name() process_pid = process.pid checklistbox.insert(tk.END, f"{process_name} - {process_pid}") except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess): # 如果進程不存在、無權訪問或為僵尸進程,跳過此進程并繼續(xù)循環(huán) continue # 更新Checklistbox中的內容 checklistbox.update() # 創(chuàng)建GUI界面 root = tk.Tk() root.title("進程列表") # 創(chuàng)建Checklistbox組件 checklistbox = tk.Listbox(root, selectmode=tk.MULTIPLE) checklistbox.pack(fill=tk.BOTH, expand=True) # 添加一個按鈕來保存選中的進程列表 save_button = tk.Button(root, text="保存選中的進程", command=save_selected_processes) save_button.pack() # 初始化Checklistbox update_checklistbox() # 進入事件循環(huán) root.mainloop()
此程序使用psutil模塊獲取系統(tǒng)中正在運行的進程列表,并將進程的名稱和PID添加到一個tkinter的Checklistbox組件中。程序還包括一個按鈕,用于保存用戶選擇的進程名稱和PID到文本文件中。用戶可以使用Ctrl鍵選擇多個進程,并單擊保存按鈕以將所選進程保存到文件中。保存的文件名為process.txt。
效果如下
到此這篇關于基于Python編寫一個有趣的進程勾選器(Process Selector)的文章就介紹到這了,更多相關Python進程勾選器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
利用Python將時間或時間間隔轉為ISO 8601格式方法示例
國際標準化組織的國際標準ISO8601是日期和時間的表示方法,全稱為《數據存儲和交換形式·信息交換·日期和時間的表示方法》,下面這篇文章主要給大家介紹了關于利用Python將時間或時間間隔轉為ISO 8601格式的相關資料,需要的朋友可以參考下。2017-09-0910分鐘學會使用python實現(xiàn)人臉識別(附源碼)
這篇文章主要介紹了10分鐘學會使用python實現(xiàn)人臉識別(附源碼),幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下2021-03-03python測試開發(fā)django之使用supervisord?后臺啟動celery?服務(worker/beat)
Supervisor是用Python開發(fā)的一個client/server服務,是Linux/Unix系統(tǒng)下的一個進程管理工具,不支持Windows系統(tǒng),這篇文章主要介紹了python測試開發(fā)django之使用supervisord?后臺啟動celery?服務(worker/beat),需要的朋友可以參考下2022-07-07Python?日期和時間處理教程之datetime?模塊的使用示例詳解
Python 中的日期不是獨立的數據類型,但我們可以導入一個名為 datetime 的模塊來使用日期作為日期對象,這篇文章主要介紹了Python?日期和時間處理教程:datetime?模塊的使用,需要的朋友可以參考下2023-10-10