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

 更新时间:2023年05月09日 14:23:02   作者:winfredzhang  
本文主要介绍了如何利用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中字典的键和值

    详解如何修改python中字典的键和值

    这篇文章主要介绍了详解如何修改python中字典的键和值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 利用Python将时间或时间间隔转为ISO 8601格式方法示例

    利用Python将时间或时间间隔转为ISO 8601格式方法示例

    国际标准化组织的国际标准ISO8601是日期和时间的表示方法,全称为《数据存储和交换形式·信息交换·日期和时间的表示方法》,下面这篇文章主要给大家介绍了关于利用Python将时间或时间间隔转为ISO 8601格式的相关资料,需要的朋友可以参考下。
    2017-09-09
  • 10分钟学会使用python实现人脸识别(附源码)

    10分钟学会使用python实现人脸识别(附源码)

    这篇文章主要介绍了10分钟学会使用python实现人脸识别(附源码),帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • python中什么是面向对象

    python中什么是面向对象

    在本篇文章里小编给大家分享了关于python面向对象的相关基础知识点,有兴趣的朋友们跟着学习下。
    2020-06-06
  • Python3 正在毁灭 Python的原因分析

    Python3 正在毁灭 Python的原因分析

    Python 2强大的一个地方是它身后巨大的第三方库,恩,可以做任何事。Python 3没有这个。是的,很多库已经移植了,但是仍然有数以十倍的库没有移植过去,而且也不太容易
    2014-11-11
  • python测试开发django之使用supervisord 后台启动celery 服务(worker/beat)

    python测试开发django之使用supervisord 后台启动celery 服务(worker/beat)

    Supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统,这篇文章主要介绍了python测试开发django之使用supervisord 后台启动celery 服务(worker/beat),需要的朋友可以参考下
    2022-07-07
  • Python如何给函数库增加日志功能

    Python如何给函数库增加日志功能

    这篇文章主要介绍了Python如何给函数库增加日志功能,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-08-08
  • Python 日期和时间处理教程之datetime 模块的使用示例详解

    Python 日期和时间处理教程之datetime 模块的使用示例详解

    Python 中的日期不是独立的数据类型,但我们可以导入一个名为 datetime 的模块来使用日期作为日期对象,这篇文章主要介绍了Python 日期和时间处理教程:datetime 模块的使用,需要的朋友可以参考下
    2023-10-10
  • 基于pytorch实现运动鞋品牌识别功能

    基于pytorch实现运动鞋品牌识别功能

    这篇文章主要给大家介绍了关于如何基于pytorch实现运动鞋品牌识别功能,文中通过图文以及实例代码介绍的非常详细,对大家学习或者使用PyTorch具有一定的参考学习价值,需要的朋友可以参考下
    2024-02-02
  • 解决django前后端分离csrf验证的问题

    解决django前后端分离csrf验证的问题

    今天小编就为大家分享一篇解决django前后端分离csrf验证的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02

最新评论