基于Python編寫一個(gè)有趣的進(jìn)程勾選器(Process?Selector)
簡(jiǎn)介
一個(gè)基于Python的程序,使用tkinter模塊創(chuàng)建一個(gè)GUI界面,在Checklistbox中列出系統(tǒng)中正在運(yùn)行的進(jìn)程的名稱和PID,并允許用戶選擇進(jìn)程并將其保存到文本文件中。
源代碼
import psutil
import tkinter as tk
def save_selected_processes():
# 獲取選中的進(jìn)程名稱和PID
selected_processes = []
for index in checklistbox.curselection():
process_info = checklistbox.get(index)
selected_processes.append(process_info)
# 將選中的進(jìn)程名稱和PID寫入到文本文件中
with open("process.txt", "w") as f:
for process_info in selected_processes:
f.write(process_info + "\n")
def update_checklistbox():
# 獲取系統(tǒng)中所有進(jìn)程的信息
process_list = psutil.process_iter()
# 清空Checklistbox
checklistbox.delete(0, tk.END)
# 循環(huán)獲取每個(gè)進(jì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):
# 如果進(jìn)程不存在、無權(quán)訪問或?yàn)榻┦M(jìn)程,跳過此進(jìn)程并繼續(xù)循環(huán)
continue
# 更新Checklistbox中的內(nèi)容
checklistbox.update()
# 創(chuàng)建GUI界面
root = tk.Tk()
root.title("進(jìn)程列表")
# 創(chuàng)建Checklistbox組件
checklistbox = tk.Listbox(root, selectmode=tk.MULTIPLE)
checklistbox.pack(fill=tk.BOTH, expand=True)
# 添加一個(gè)按鈕來保存選中的進(jìn)程列表
save_button = tk.Button(root, text="保存選中的進(jìn)程", command=save_selected_processes)
save_button.pack()
# 初始化Checklistbox
update_checklistbox()
# 進(jìn)入事件循環(huán)
root.mainloop()此程序使用psutil模塊獲取系統(tǒng)中正在運(yùn)行的進(jìn)程列表,并將進(jìn)程的名稱和PID添加到一個(gè)tkinter的Checklistbox組件中。程序還包括一個(gè)按鈕,用于保存用戶選擇的進(jìn)程名稱和PID到文本文件中。用戶可以使用Ctrl鍵選擇多個(gè)進(jìn)程,并單擊保存按鈕以將所選進(jìn)程保存到文件中。保存的文件名為process.txt。
效果如下


到此這篇關(guān)于基于Python編寫一個(gè)有趣的進(jìn)程勾選器(Process Selector)的文章就介紹到這了,更多相關(guān)Python進(jìn)程勾選器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Python將時(shí)間或時(shí)間間隔轉(zhuǎn)為ISO 8601格式方法示例
國際標(biāo)準(zhǔn)化組織的國際標(biāo)準(zhǔn)ISO8601是日期和時(shí)間的表示方法,全稱為《數(shù)據(jù)存儲(chǔ)和交換形式·信息交換·日期和時(shí)間的表示方法》,下面這篇文章主要給大家介紹了關(guān)于利用Python將時(shí)間或時(shí)間間隔轉(zhuǎn)為ISO 8601格式的相關(guān)資料,需要的朋友可以參考下。2017-09-09
10分鐘學(xué)會(huì)使用python實(shí)現(xiàn)人臉識(shí)別(附源碼)
這篇文章主要介紹了10分鐘學(xué)會(huì)使用python實(shí)現(xiàn)人臉識(shí)別(附源碼),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03
python測(cè)試開發(fā)django之使用supervisord?后臺(tái)啟動(dòng)celery?服務(wù)(worker/beat)
Python?日期和時(shí)間處理教程之datetime?模塊的使用示例詳解
基于pytorch實(shí)現(xiàn)運(yùn)動(dòng)鞋品牌識(shí)別功能

