ChatGPT编程—实现小工具软件(文件查找和筛选)

简介: ChatGPT编程—实现小工具软件(文件查找和筛选)

ChatGPT编程—实现小工具软件(文件查找和筛选)
今天借助[小蜜蜂AI]网站的ChatGPT编程实现一个功能:根据特定需求结合通配符和其他条件来进行文件查找和筛选。在这个例子中,我们将创建一个函数find_files,它接受用户输入的目录路径、文件扩展名以及其他条件作为参数,并返回符合条件的文件列表。

环境:Pycharm 2021

系统:Mac OS

向ChatGPT输入如下内容:

image.png

ChatGPT收到后,返回如下结果:

创建自定义函数进行文件查找和筛选:

import os
import fnmatch

def find_files(directory, pattern='*', keyword=None, min_size=None, max_size=None):
    matched_files = []
    for root, dirs, files in os.walk(directory):
        for file_name in files:
            if fnmatch.fnmatch(file_name, pattern):
                file_path = os.path.join(root, file_name)
                file_size = os.path.getsize(file_path)

                # 根据关键字筛选文件
                if keyword and keyword not in file_name:
                    continue

                # 根据文件大小筛选文件
                if min_size and file_size < min_size:
                    continue
                if max_size and file_size > max_size:
                    continue

                matched_files.append(file_path)

    return matched_files

# 示例用法:查找目录下所有以 .txt 结尾并包含关键字 'example' 的文件
found_files = find_files('path/to/directory', pattern='*.txt', keyword='example')
for file_path in found_files:
    print(file_path)

在上述代码中,find_files函数允许您基于目录路径、文件扩展名、关键字、最小/最大文件大小等条件来定制文件查找和筛选操作。您可以根据实际需求扩展或修改该函数,以满足您对文件查找和筛选的特定需求。

根据自己的需求,对上面的代码进行修改,如下:

import os
import fnmatch


def find_files(directory, pattern='*', keyword=None, min_size=None, max_size=None):
    matched_files = []
    for root, dirs, files in os.walk(directory):
        for file_name in files:
            if fnmatch.fnmatch(file_name, pattern):
                file_path = os.path.join(root, file_name)
                file_size = os.path.getsize(file_path)

                # 根据关键字筛选文件
                if keyword and keyword not in file_name:
                    continue

                # 根据文件大小筛选文件
                if min_size and file_size < min_size:
                    continue
                if max_size and file_size > max_size:
                    continue

                matched_files.append(file_path)

    return matched_files

# 定义变量,输入自定义的需求
file_path = input('请输入路径:')
file_type = input('请输入文件类型:')
keyword = input('请输入包含的关键字:')
# 示例用法:查找目录下所有以 .txt 结尾并包含关键字 'example' 的文件
found_files = find_files(file_path, pattern=file_type, keyword=keyword)
for file_path in found_files:
    print(file_path)

image.png

这个案例说明了,AI编程太高效了。用好AI提高效率,提升自我。

相关文章
|
6月前
|
人工智能 搜索推荐 大数据
GitHub Copilot Enterprise登场,或将掀起编程界的ChatGPT革命!
【2月更文挑战第13天】GitHub Copilot Enterprise登场,或将掀起编程界的ChatGPT革命!
82 2
GitHub Copilot Enterprise登场,或将掀起编程界的ChatGPT革命!
|
1月前
|
人工智能 计算机视觉 Python
ChatGPT编程省钱、方便小示例——实现PDF转成PNG文件
ChatGPT编程省钱、方便小示例——实现PDF转成PNG文件
|
1月前
|
人工智能 API iOS开发
ChatGPT编程Python小案例(拿来就用)—解压zip压缩文
ChatGPT编程Python小案例(拿来就用)—解压zip压缩文
|
1月前
|
iOS开发 MacOS Python
ChatGPT编程实现简易聊天工具
ChatGPT编程实现简易聊天工具
|
1月前
|
人工智能 iOS开发 MacOS
ChatGPT编程—实现小工具软件(批量替换文本、批量处理图像文件)
ChatGPT编程—实现小工具软件(批量替换文本、批量处理图像文件)
|
6月前
|
设计模式 存储 人工智能
如何利用 ChatGPT 提升编程技能
如何利用 ChatGPT 提升编程技能
|
4月前
|
JavaScript 区块链
从零开始:如何用Electron将chatgpt-plus.top 打包成EXE文件
从零开始:如何用Electron将chatgpt-plus.top 打包成EXE文件
54 0
|
存储 人工智能 Java
ChatGPT API接口编程基础与使用技巧
ChatGPT API接口编程基础与使用技巧
977 0
|
6月前
|
人工智能 自然语言处理 搜索推荐
迈向AI时代:掌握Python编程与ChatGPT的结合
ChatGPT是一种基于自然语言处理技术的模型,它可以理解人类的语言并生成相应的回复。而Python编程则是一种通过编写代码来实现特定功能的技能。将ChatGPT与Python编程相结合,我们可以利用ChatGPT来帮助我们理解编程概念、编写代码以及解决编程问题。
734 2
|
Linux Shell Docker
chatgpt Linux 定时任务 清理rancher pod启动服务的日志文件 脚本
chatgpt Linux 定时任务 清理rancher pod启动服务的日志文件 脚本