本文主要介绍了如何利用Python编写一个有趣的进程勾选器,可以在Checklistbox中列出系统中正在运行的进程的名称和PID,并允许用户选择进程并将其保存到文本文件中,需要的可以参考一下
简介
一个基于Python的程序,使用tkinter模块创建一个GUI界面,在Checklistbox中列出系统中正在运行的进程的名称和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():
# 获取系统中所有进程的信息
process_list = psutil.process_iter()
# 清空Checklistbox
checklistbox.delete(0, tk.END)
# 循环获取每个进程的名称和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):
# 如果进程不存在、无权访问或为僵尸进程,跳过此进程并继续循环
continue
# 更新Checklistbox中的内容
checklistbox.update()
# 创建GUI界面
root = tk.Tk()
root.title("进程列表")
# 创建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()
# 进入事件循环
root.mainloop()
此程序使用psutil模块获取系统中正在运行的进程列表,并将进程的名称和PID添加到一个tkinter的Checklistbox组件中。程序还包括一个按钮,用于保存用户选择的进程名称和PID到文本文件中。用户可以使用Ctrl键选择多个进程,并单击保存按钮以将所选进程保存到文件中。保存的文件名为process.txt。
效果如下
到此这篇关于基于Python编写一个有趣的进程勾选器(Process Selector)的文章就介绍到这了,更多相关Python进程勾选器内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:基于Python编写一个有趣的进程勾选器(Process Selector)
- 搭建单机Redis缓存服务的实现 2023-07-13
- MySQL8.0.28安装教程详细图解(windows 64位) 2023-07-26
- Oracle 删除大量表记录操作分析总结 2023-07-23
- Mongodb启动报错完美解决方案:about to fork child process,waiting until server is ready for connections. 2023-07-16
- SQL Server 2022 AlwaysOn新特性之包含可用性组详解 2023-07-29
- Numpy中如何创建矩阵并等间隔抽取数据 2023-07-28
- 基于Python制作一个简单的文章搜索工具 2023-07-28
- redis清除数据 2023-09-13
- 在阿里云CentOS 6.8上安装Redis 2023-09-12
- SQLSERVER调用C#的代码实现 2023-07-29