零代码编程:用kimichat批量重命名markdown文件并合并

2024-04-06 11:28

本文主要是介绍零代码编程:用kimichat批量重命名markdown文件并合并,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一个文件夹里面有很多个markdown文件,需要全部合并成一个txt文件:

可以在kimichat输入框中输入提示词:

你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下:

打开文件夹:D:\prompts-for-edu-main\prompts-for-edu-main

获取文件夹里面所有以md为后缀的文件;

将所有这些md文件重命名为txt文件,比如:Tutor.MD重命名为Tutor.txt;

将所有txt文件合并为一个txt文件,文件标题名为:edup.txt

注意:

每一个步骤都要打印出信息;

使用原始字符串 r"path" 来避免转义问题;

在重命名操作中添加异常处理来捕获和报告错误;

将任务分解为多个函数,每个函数执行一个特定的任务;

Kimichat生成Python脚本代码:

import os

import glob

# 打开并显示指定文件夹路径

def open_folder(folder_path):

print(f"Opening folder: {folder_path}")

if not os.path.exists(folder_path):

print(f"The folder '{folder_path}' does not exist.")

else:

print(f"Successfully accessed the folder: {folder_path}")

# 获取文件夹中所有.md文件并打印

def get_md_files(folder_path):

md_files = glob.glob(os.path.join(folder_path, "*.md"))

print(f"Found {len(md_files)} .md files:")

for file in md_files:

print(file)

return md_files

# 将.md文件重命名为.txt文件,并打印信息和异常处理

def rename_md_to_txt(md_files):

for md_file in md_files:

try:

base_name, ext = os.path.splitext(md_file)

txt_filename = base_name + ".txt"

os.rename(md_file, txt_filename)

print(f"Renamed {md_file} to {txt_filename}")

except Exception as e:

print(f"An error occurred while renaming {md_file}: {e}")

# 合并所有.txt文件到一个edup.txt文件,并打印信息

def merge_txt_files(folder_path, output_file_name):

with open(output_file_name, "w", encoding='utf-8') as outfile:

txt_files = glob.glob(os.path.join(folder_path, "*.txt"))

for txt_file in txt_files:

with open(txt_file, "r", encoding='utf-8') as infile:

content = infile.read()

outfile.write(content)

outfile.write("\n\n") # 添加分隔符

print(f"File {txt_file} has been merged into {output_file_name}")

print(f"All .txt files have been successfully merged into {output_file_name}")

# 主程序

if __name__ == "__main__":

folder_path = r"D:\prompts-for-edu-main\prompts-for-edu-main"

output_file_name = "edup.txt"

open_folder(folder_path)

md_files = get_md_files(folder_path)

if md_files:

rename_md_to_txt(md_files)

merge_txt_files(folder_path, output_file_name)

else:

print("No .md files found in the folder.")

程序运行,成功重命名、合并:

这篇关于零代码编程:用kimichat批量重命名markdown文件并合并的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/879783

相关文章

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

MyBatis中的两种参数传递类型详解(示例代码)

《MyBatis中的两种参数传递类型详解(示例代码)》文章介绍了MyBatis中传递多个参数的两种方式,使用Map和使用@Param注解或封装POJO,Map方式适用于动态、不固定的参数,但可读性和安... 目录✅ android方式一:使用Map<String, Object>✅ 方式二:使用@Param

SpringBoot实现图形验证码的示例代码

《SpringBoot实现图形验证码的示例代码》验证码的实现方式有很多,可以由前端实现,也可以由后端进行实现,也有很多的插件和工具包可以使用,在这里,我们使用Hutool提供的小工具实现,本文介绍Sp... 目录项目创建前端代码实现约定前后端交互接口需求分析接口定义Hutool工具实现服务器端代码引入依赖获

利用Python在万圣节实现比心弹窗告白代码

《利用Python在万圣节实现比心弹窗告白代码》:本文主要介绍关于利用Python在万圣节实现比心弹窗告白代码的相关资料,每个弹窗会显示一条温馨提示,程序通过参数方程绘制爱心形状,并使用多线程技术... 目录前言效果预览要点1. 爱心曲线方程2. 显示温馨弹窗函数(详细拆解)2.1 函数定义和延迟机制2.2

pandas批量拆分与合并Excel文件的实现示例

《pandas批量拆分与合并Excel文件的实现示例》本文介绍了Pandas中基于整数位置的iloc和基于标签的loc方法进行数据索引和切片的操作,并将大Excel文件拆分合并,具有一定的参考价值,感... 目录一、Pandas 进行索引和切编程片的iloc、loc方法二、Pandas批量拆分与合并Exce

Springmvc常用的注解代码示例

《Springmvc常用的注解代码示例》本文介绍了SpringMVC中常用的控制器和请求映射注解,包括@Controller、@RequestMapping等,以及请求参数绑定注解,如@Request... 目录一、控制器与请求映射注解二、请求参数绑定注解三、其他常用注解(扩展)四、注解使用注意事项一、控制

MySQL 批量插入的原理和实战方法(快速提升大数据导入效率)

《MySQL批量插入的原理和实战方法(快速提升大数据导入效率)》在日常开发中,我们经常需要将大量数据批量插入到MySQL数据库中,本文将介绍批量插入的原理、实现方法,并结合Python和PyMySQ... 目录一、批量插入的优势二、mysql 表的创建示例三、python 实现批量插入1. 安装 PyMyS

C++简单日志系统实现代码示例

《C++简单日志系统实现代码示例》日志系统是成熟软件中的一个重要组成部分,其记录软件的使用和运行行为,方便事后进行故障分析、数据统计等,:本文主要介绍C++简单日志系统实现的相关资料,文中通过代码... 目录前言Util.hppLevel.hppLogMsg.hppFormat.hppSink.hppBuf