基于Python编写一个有趣的进程勾选器(Process Selector)

作者:winfredzhang 时间:2023-06-19 06:28:19 

简介

一个基于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编写一个有趣的进程勾选器(Process Selector)

来源:https://blog.csdn.net/winniezhang/article/details/129254876

标签:Python,进程
0
投稿

猜你喜欢

  • Python编码爬坑指南(必看)

    2023-10-01 05:51:37
  • ASP隐藏真实文件的下载功能实现代码

    2011-04-14 11:12:00
  • 分析python切片原理和方法

    2021-04-19 21:39:03
  • asp如何做一个检索结果带链接的检索?

    2010-07-11 21:15:00
  • python之tensorflow手把手实例讲解斑马线识别实现

    2021-11-11 05:53:19
  • SQL Server 2005 Management Studio Express企业管理器将英文变成简体中文版的实现方法

    2024-01-27 23:35:38
  • BootStrap tooltip提示框使用小结

    2023-07-02 05:25:25
  • python中函数总结之装饰器闭包详解

    2023-06-27 02:55:04
  • ASP 函数语法速查表

    2010-03-17 20:59:00
  • 树莓派安装OpenCV3完整过程的实现

    2023-11-06 06:26:08
  • python实现划词翻译

    2023-04-28 19:36:54
  • js 禁用只读文本框获得焦点时的退格键

    2024-04-19 10:25:41
  • Python中xml和dict格式转换的示例代码

    2021-07-18 21:30:10
  • 基于vue+element实现全局loading过程详解

    2023-07-02 17:01:05
  • 解析PHP可变函数的经典用法

    2024-06-05 09:38:32
  • selenium2.0中常用的python函数汇总

    2023-04-05 13:15:11
  • PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)

    2023-10-21 05:36:58
  • Python使用win32com实现的模拟浏览器功能示例

    2023-09-21 14:13:13
  • Django model重写save方法及update踩坑详解

    2021-01-21 08:45:52
  • PHP实现sha-256哈希算法实例代码

    2023-05-25 01:05:23
  • asp之家 网络编程 m.aspxhome.com