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

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.hqwc.cn/news/544502.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Selenium基础

1. selenium简介 用于实现自动化测试的 python 包,使用前需要安装对应浏览器驱动 from time import sleep from selenium import webdriver option webdriver.ChromeOptions() # 指定chrome存储路径的二进制形式 option.binary_locationD:\Chrome\Google\Chrome\Ap…

unity学习(60)——选择角色界面--MapHandler2-MapHandler.cs

1.新建一个脚本&#xff0c;里面有static变量loadingPlayerList using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace Assets.Scripts.Model {internal class LoadData{public static List<Pl…

【蓝桥杯】小明的背包2(DP)

一.题目描述 二.问题分析 这是一个典型的动态规划问题。 我们使用一个二维数组来解决问题&#xff0c;dp[i][j]表示从第1个到第i个物品中进行选取&#xff0c;装入容积为j的背包中商品的总价值。 其实这里隐含了一个初始条件&#xff0c;即dp[i][0]0&#xff0c;即背包容量…

HTTPS(超文本传输安全协议)工作过程

一、简述HTTPS HTTPS超文本传输协议&#xff08;全称&#xff1a;Hypertext Transfer Protocol Secure &#xff09;&#xff0c;是以安全为目标的 HTTP 通道&#xff0c;在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL&#x…

DDR协议基础进阶(三)——(基本功能、初始化、MR寄存器)

DDR协议基础进阶&#xff08;三&#xff09;——&#xff08;基本功能、初始化、MR寄存器&#xff09; 一、DDR基本功能 DDR基本功能主要包括&#xff1a; 8-bit prefetch预取——8-bit&#xff0c;是指8位数据&#xff0c;即8倍芯片位宽的数据。由于DDR内部数据传输是32bit…

Day40:安全开发-JavaEE应用SpringBoot框架JWT身份鉴权打包部署JARWAR

目录 SpringBoot-身份鉴权-JWT技术 SpringBoot-打包部署-JAR&WAR 思维导图 Java知识点 功能&#xff1a;数据库操作&#xff0c;文件操作&#xff0c;序列化数据&#xff0c;身份验证&#xff0c;框架开发&#xff0c;第三方组件使用等. 框架库&#xff1a;MyBatis&…

springboot项目学习-瑞吉外卖(1)

第一天任务如下&#xff1a; 建立基本架构完成登录、退出功能 注意&#xff1a;本博客没有使用网上教程里的mybatis-plus&#xff0c;使用的是mybatis&#xff1b;数据库连接池也没有使用教程里的druid&#xff0c;使用的是spring自带的连接池 基本架构 common包&#xff1a;存…

JUnit 面试题及答案整理,最新面试题

JUnit中的断言&#xff08;Assert&#xff09;有哪些类型&#xff1f; JUnit提供了多种断言类型来帮助测试代码的正确性。常见的断言类型包括&#xff1a; 1、assertEquals&#xff1a; 用于检查两个值是否相等。如果不相等&#xff0c;测试失败。 2、assertTrue和assertFal…

vulhub中fastjson 1.2.24 反序列化导致任意命令执行漏洞复现

fastjson在解析json的过程中&#xff0c;支持使用autoType来实例化某一个具体的类&#xff0c;并调用该类的set/get方法来访问属性。通过查找代码中相关的方法&#xff0c;即可构造出一些恶意利用链。 环境运行后&#xff0c;访问http://your-ip:8090即可看到JSON格式的输出。 …

java-ssm-jsp基于java的信访管理系统的设计与实现

java-ssm-jsp基于java的信访管理系统的设计与实现 获取源码——》公主号&#xff1a;计算机专业毕设大全 获取源码——》公主号&#xff1a;计算机专业毕设大全

Oracle 面试题及答案整理,最新面试题

Oracle中的PL/SQL和SQL有什么区别&#xff1f; PL/SQL和SQL在Oracle中的主要区别包括&#xff1a; 1、编程能力&#xff1a; PL/SQL是一种程序化语言&#xff0c;支持变量、条件语句和循环&#xff0c;而SQL主要用于数据查询和更新。 2、执行方式&#xff1a; PL/SQL可以执行…

阿里二面:什么情况会发生Full GC?如何避免频繁Full GC?

阿里二面&#xff1a;什么情况会发生Full GC&#xff1f;如何避免频繁Full GC&#xff1f; Minor GC、Major GC 和 Full GC区别&#xff1f; Minor GC、Major GC和Full GC是垃圾回收中的三个重要概念&#xff0c;它们描述了垃圾回收的不同阶段和范围&#xff1a; Minor GC&am…