ChatGPT编程—实现小工具软件(批量替换文本、批量处理图像文件)

news2024/11/18 10:50:34

ChatGPT编程—实现小工具软件(批量替换文本、批量处理图像文件)

今天借助[小蜜蜂AI][https://zglg.work]网站的ChatGPT编程实现一个功能:批量处理文件及其内容,例如批量替换文本、批量处理图像文件等。

环境:Pycharm 2021

系统:Mac OS

向ChatGPT输入如下内容:
Screenshot 2024-03-16 at 11.52.55

ChatGPT收到后返回如下结果:

批量处理文件及其内容:

1. 批量替换文本文件内容
  • 使用Python的fileinput模块结合正则表达式,可以轻松批量替换文本文件中的内容。
import fileinput
import re

# 批量替换文本文件中的指定内容
def batch_replace_text(file_pattern, search_pattern, replace_text):
    for line in fileinput.input(files=glob.glob(file_pattern), inplace=True):
        print(re.sub(search_pattern, replace_text, line), end='')

# 调用示例:将所有.txt文件中的"old_text"替换为"new_text"
batch_replace_text("*.txt", "old_text", "new_text")

根据ChatGPT返回的结果,进行如下修改并运行,如下所示:

import fileinput
import re
import glob


# 批量替换文本文件中的指定内容
def batch_replace_text(file_pattern, search_pattern, replace_text):
    for line in fileinput.input(files=glob.glob(file_pattern), inplace=True):
        print(re.sub(search_pattern, replace_text, line), end='')


# 调用示例:将所有.txt文件中的"old_text"替换为"new_text"
batch_replace_text("*.txt", "AI", "人工只能(AI,Artificial Intelligence)")

5

1

3

2

4

2. 批量处理图像文件
  • 使用Pillow库(PIL Fork)来批量处理图像文件,例如调整大小、转换格式等操作。
from PIL import Image
import os

# 批量调整图像大小
def resize_images(input_dir, output_dir, size=(128, 128)):
    os.makedirs(output_dir, exist_ok=True)
    for filename in os.listdir(input_dir):
        if filename.endswith(('.png', '.jpg', '.jpeg')):
            img = Image.open(os.path.join(input_dir, filename))
            img_resized = img.resize(size)
            img_resized.save(os.path.join(output_dir, filename))

# 调用示例:将input_images目录中的所有图片调整为128x128尺寸并保存到output_images目录
resize_images("input_images", "output_images")

根据ChatGPT返回的结果,进行如下修改并运行,如下所示:

from PIL import Image
import os


# 批量调整图像大小
height = input('请输入图片高度:')
width = input('请输入图片宽度:')


def resize_images(input_dir, output_dir, size=(int(height), int(width))):
    os.makedirs(output_dir, exist_ok=True)
    for filename in os.listdir(input_dir):
        if filename.endswith(('.png', '.jpg', '.jpeg')):
            img = Image.open(os.path.join(input_dir, filename))
            img_resized = img.resize(size)
            img_resized.save(os.path.join(output_dir, filename))


# 调用示例:将input_images目录中的所有图片调整为height*width尺寸并保存到output_images目录
resize_images("input_images", "output_images")

Screenshot 2024-03-16 at 12.25.53

Screenshot 2024-03-16 at 12.26.43

Screenshot 2024-03-16 at 12.27.29

Screenshot 2024-03-16 at 12.26.57

Screenshot 2024-03-16 at 12.27.50

使用上述代码示例,您可以轻松地批量处理文本文件内容或图像文件。根据具体需求可进一步定制功能,并确保在处理大量文件时进行适当优化以提高效率。

还是那句话,AI编程太高效了。用好AI提高效率,提升自我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1521656.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

西门子TIA中配置Anybus PROFINET IO Slave 模块

1、所需产品 Siemens S7 PLC CPU 315-2 PN/DP 6ES7 315-2EH-0AB0 Siemens PLC 编程电缆 n.a. n.a. PC ,并安装Siemens PLC编程软件 TIA Portal V11 X-gateway Slave 接口的GSDML文件 根据网关的软件版本而定 Anybus Communicator GSD文件 GSDML-V1.0-HMS-ABCPRT-20050317.xl…

腾讯云2核4g服务器能支持多少人访问?没搞错吧

腾讯云轻量2核4G5M带宽服务器支持多少人在线访问?5M带宽下载速度峰值可达640KB/秒,阿腾云以搭建网站为例,假设优化后平均大小为60KB,则5M带宽可支撑10个用户同时在1秒内打开网站,并发数为10,经阿腾云测试&a…

kkview远程控制: 内网远程桌面控制软件

内网远程桌面控制软件:高效、安全的远程管理方案 在信息技术日新月异的今天,内网远程桌面控制软件已成为许多企业和个人用户不可或缺的工具。这类软件允许用户通过内部网络,实现对其他计算机的远程访问和控制,从而大大提高工作效…

2024年高处安装、维护、拆除证模拟考试题库及高处安装、维护、拆除理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年高处安装、维护、拆除证模拟考试题库及高处安装、维护、拆除理论考试试题是由安全生产模拟考试一点通提供,高处安装、维护、拆除证模拟考试题库是根据高处安装、维护、拆除最新版教材,高…

Radware DDoS防护迎来重大升级,重拳出击在线游戏行业难题

日前,全球领先的网络安全和应用交付解决方案提供商Radware推出了多维DDoS检测和防护措施,以满足在线游戏行业独特复杂的需求。Radware开发了一系列新的算法来保护在线游戏免遭复杂攻击。 Radware首席运营官Gabi Malka表示:“在线游戏是价值数…

车联网应用:开箱即用的物联网卡管理平台

IoTLink是物联网卡管理平台,采用SpringBoot、Vue、Mybatis等技术,支持多渠道管理,提供物联卡数据采集和云端SaaS服务。功能包括物联卡、模组管理、业务告警、微信端操作等。工厂项目可利用该平台管理物联卡、监控数据,并通过定制功…

论文阅读——Rein

Stronger, Fewer, & Superior: Harnessing Vision Foundation Models for Domain Generalized Semantic Segmentation 一、引言 是一个对Domain Generalized Semantic Segmentation (DGSS)任务的视觉大模型的微调方法,即Rein。 Rein 专为 DGSS 任务量身定制&a…

计算机系统基础 2 Intel 中央处理器

Intel微处理器的发展史 INTegrated ELectronics(集成电子)的缩写 先后推出的中央处理器: Intel4004、Intel8008、Intel8080/8085、8086/8088、80186、80286、i386、i486 Pentium(奔腾)、Pentium II、Pentium III、Pen…

军事通信中数字的特殊读法

文心一言 在军事通信中,数字的特殊读法是为了确保在嘈杂、紧张或紧急情况下,信息能够准确无误地传递。这种读法通常遵循一定的规律,使得每个数字都有一个独特的、不易混淆的发音。以下是在军事通信中常见的数字特殊读法: 0 读为…

Java面试题合集-史上最全

3月4月又到了一年一度的跳槽黄金期,无论几年经验,也无论技术能力如何,跳槽前都离不开面试准备,其中刷面试题是重中之重。 刷面试题的时候一大痛点就是太分散了,需要自己根据知识点一项一项的去搜,容易遗漏…

腾讯云2核4G5M云服务器能支持多少并发?

腾讯云轻量2核4G5M带宽服务器支持多少人在线访问?5M带宽下载速度峰值可达640KB/秒,阿腾云以搭建网站为例,假设优化后平均大小为60KB,则5M带宽可支撑10个用户同时在1秒内打开网站,并发数为10,经阿腾云测试&a…

页面事件

下拉刷新事件 1. 什么是下拉刷新 下拉刷新是移动端的专有名词,指的是通过手指在屏幕上的下拉滑动操作,从而重新加载页面数据的行为。 2. 启用下拉刷新 启用下拉刷新有两种方式: ① 全局开启下拉刷新  在 app.json 的 window 节点中&…

网络通信与网络协议

网络编程是指利用计算机网络实现程序之间通信的一种编程方式。在网络编程中,程序需要通过网络协议(如 TCP/IP)来进行通信,以实现不同计算机之间的数据传输和共享。在网络编程中,通常有三个基本要素 IP 地址:定位网络中某台计算机端口号port:定…

Java项目:53 springboot校园管理系统的设计与实现014

作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 1、关于校园管理系统的基本要求: (1)功能要求:可以管理首页、个人中心、院校管理、用户管理、单位类别…

【SQLite数据库】的使用

SQLite数据库 文章目录 SQLite数据库0、linux基础知识补充1、SQLite简介1.1 SQLite & MySQL 的优缺点比较1.2 常见的嵌入式数据库 2、数据库的基本命令和用法2.1 创建数据库2.2 创建一张表格2.3 插入一条数据2.4 增加一列2.5 删2.6 改2.7 查看数据库 3、数据库编程3.1 实验…

通过actions configuration tool进行快速open 软件的定义

这个主要是看到有人可以直接在文件夹中右键打开terminator得到的启发: 首先需要下载工具 sudo apt-get install nautilus-actions下载terminator: sudo apt-get install terminator去软件目录寻找filemanager-action 然后新建一个action&#xff0c…

力扣59. 螺旋矩阵 II

思路:此题思路就是绕圈遍历,全靠条件处理技巧,重点要清楚的就是循环不变量:左闭右开(即拐弯处的一个数,留给第二行处理) 以下是代码随想录的作者的一张图片,每次for循环,…

【计算机组成原理】处理机管理

目录 一、处理机分类 1. MPU 2. MCU 3. DSP 二、CPU的功能 1. 指令控制 2. 操作控制 3. 时间控制 4. 数据加工 三、CPU的组成 (一)控制器 1. 控制器的功能 (1)控制指令执行的顺序 ① 程序中规定的转移类型指令 ② …

ctf_show笔记篇(web入门---代码审计)

301:多种方式进入 从index.php页面来看 只需要访问index.php时session[login]不为空就能访问 那么就在访问index.php的时候上传login 随机一个东西就能进去从checklogin页面来看sql注入没有任何过滤 直接联合绕过 密码随意 还有多种方式可以自己去看代码分析 30…

Linux/secret

Enumeration nmap 第一次扫描发现系统对外开放了22,80和3000端口,端口详细信息如下 可以看到22端口对应的是ssh服务,80和3000都是http服务,80端口使用nginx,3000使用了Node.js TCP/80 可以先从80端口开始探索&…