码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 查找并删除指定文件夹下包含有指定的关键词的文件(GUI界面)


    这里写自定义目录标题

          • 一、需求
          • 二、效果图
          • 三、部分说明
          • 四、附代码

    一、需求

    通过程序,查找并删除指定文件夹下包含有指定的关键词的文件;

    二、效果图

    在这里插入图片描述

    三、部分说明

    1、python版本为3.8.10
    2、此次窗口部分的程序,是使用AI补充的,效果还不错。

    四、附代码
    import os
    import fnmatch
    import PySimpleGUI as sg
    
    # 创建窗口布局
    layout = [
        [sg.Text('选择文件夹路径:'), sg.Input(key='-FOLDER-', readonly=True), sg.FolderBrowse(target='-FOLDER-')],
        [sg.Text('输入需要删除文件关键词:')],
        [sg.InputText(key='-PATTERN-')],
        [sg.Button('搜索文件'), sg.Button('删除文件'), sg.Button('退出')],
        [sg.Listbox([], size=(70, 10), key='-FILELIST-')]
    ]
    
    # 创建窗口
    window = sg.Window('删除指定关键词的文件', layout)
    
    # 事件循环
    while True:
        event, values = window.read()
        if event == sg.WINDOW_CLOSED or event == '退出':
            break
        elif event == '搜索文件':
            pattern = values['-PATTERN-']
            folders_dir = values['-FOLDER-']
            n = 1
            file_ls = []
    
            if not folders_dir:
                sg.popup('请选择文件夹路径', title='错误')
                continue
    
            for file in os.scandir(folders_dir):
                if fnmatch.fnmatch(file.name, f'*{pattern}*'):
                    file_dir = os.path.join(folders_dir, file.name)
                    print(f'匹配上的文件--->>>')
                    print(f'\t\t\t{n}:{file.name}')
                    file_ls.append(file_dir)
                    n += 1
    
            if len(file_ls) == 0:
                sg.popup('没有搜索到符合的文件', title='提示')
            else:
                window['-FILELIST-'].update(file_ls)
        elif event == '删除文件':
            selected_files = values['-FILELIST-']
            if len(selected_files) != 0:
                judge = sg.popup_yes_no('是否删除选中的文件?', title='确认删除')
                if judge == 'Yes':
                    for file in selected_files:
                        os.remove(file)
                    sg.popup('文件删除成功!', title='提示')
                    window['-FILELIST-'].update([])
                else:
                    sg.popup('取消删除操作。', title='提示')
            else:
                sg.popup('请先搜索文件并选择要删除的文件。', title='提示')
    
    # 关闭窗口
    window.close()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
  • 相关阅读:
    vue——插槽v-slot、组件的自定义事件、网络请求、面试题相关(数据的劫持顺序、单向数据流、DIFF算法)
    HarmonyOS Codelab 优秀样例——溪村小镇(ArkTS)
    UE4 粒子特效基础学习 (03-制作上升光线特效)
    牛客多校-Link with Arithmetic Progression-(三分总结)
    fatal: Authentication failed for ‘https://github.com
    Linux 中的 cron 命令及示例
    一文搞定注意力机制(Attention)
    基于Java+SpringBoot+Vue前后端分离旅游网站设计和实现
    Windows的Git Bash使用tree命令
    Spring IOC 和 AOP
  • 原文地址:https://blog.csdn.net/lanzhen001/article/details/133085716
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号