专栏名称: Dance with GenAI
关于生成式人工智能AIGC的一切
目录
相关文章推荐
诸海滨科新先声  ·  【开源北交所】基康仪器:智能监测传感器小巨人 ... ·  13 小时前  
淘股吧  ·  大赚19%!尾盘拉升抢筹! ·  昨天  
Foodaily每日食品  ·  不卖产品就能赚13亿!山姆蛰伏中国20年,冲 ... ·  3 天前  
唐史主任司马迁  ·  市场非常有效,高位一回调,当场转向,去面向两 ... ·  2 天前  
51好读  ›  专栏  ›  Dance with GenAI

Deepseek批量删除文件标题名的部分字符串

Dance with GenAI  · 公众号  ·  · 2025-02-05 20:16

正文

在Deepseek中输入提示词:

写一个Python脚本,

搜索本地电脑中这几个文件夹:"F:\图书";"F:\股票投资类图书";"F:\有声英文书";"D:\downloads"

查找后缀为azw3、epub、pdf、mobi的电子书文件;

如果电子书文本标题名的末尾包括这些字符串:“libgen.li”、“Anna’s Archive”、“(Z-Library)”,那么就删掉,重命名文件;

举几个例子:

原文件标题:[年度图书 科学新知 _6] 吴军 - 吴军数学通识讲义 (2021) - libgen.li.epub

重命名后的标题:[年度图书 科学新知 _6] 吴军 - 吴军数学通识讲义 (2021) - .epub

原文件标题:“错误”的行为:行为经济学的形成 ([美]理查德·塞勒) (Z-Library).epub

重命名后的标题:“错误”的行为:行为经济学的形成 ([美]理查德·塞勒) .epub

原文件标题:AI Startup Strategy_ A Blueprint to Building Successful -- Adhiguna Mahendra -- 1, 2023 -- Apress -- 9781484295014 -- 5fd222490bd5dbb2cbdfd3fdd5964b0a -- Anna’s Archive.pdf

重命名后的标题:AI Startup Strategy_ A Blueprint to Building Successful -- Adhiguna Mahendra -- 1, 2023 -- Apress -- 9781484295014 -- 5fd222490bd5dbb2cbdfd3fdd5964b0a -- Anna’s Archive.pdf

注意:每一步都要输出信息到屏幕上

如果文件路径中包含非法字符(例如 : 和 --),会导致操作系统无法正确识别路径。Windows 文件系统中,文件名不能包含某些特殊字符(如 :),而 -- 虽然合法,但在某些情况下可能会导致问题。我们需要在重命名文件时,清理文件名中的非法字符,并确保路径正确。

Deepseek生成的Python源代码:

import os

import re

# 定义要搜索的文件夹路径

folders_to_search = [

r"F:\图书",

r"F:\股票投资类图书",

r"F:\有声英文书",

r"D:\downloads"

]

# 定义要查找的文件后缀

file_extensions = ['.azw3', '.epub', '.pdf', '.mobi']

# 定义要删除的字符串

strings_to_remove = ['libgen.li', 'Anna’s Archive', '(Z-Library)']

# 定义非法字符(Windows 文件系统中不允许的字符)

illegal_chars = ['', ':', '"', '/', '\\', '|', '?', '*']

def clean_filename(filename):

# 去除非法字符

for char in illegal_chars:

filename = filename.replace(char, '')

# 去除多余的空格和连字符

filename = re.sub(r'\s+', ' ', filename).strip()

filename = re.sub(r'-+', '-', filename).strip()

return filename

def rename_file(file_path):

# 获取文件名和扩展名

file_dir, file_name = os.path.split(file_path)

file_base, file_ext = os.path.splitext(file_name)

# 检查文件名末尾是否包含需要删除的字符串

for string in strings_to_remove:

if file_base.endswith(string):

# 删除字符串并重命名文件

new_file_base = file_base[:-len(string)].rstrip()

new_file_base = clean_filename(new_file_base) # 清理文件名

new_file_name = f"{new_file_base}{file_ext}"

new_file_path = os.path.join(file_dir, new_file_name)

# 重命名文件

try:

os.rename(file_path, new_file_path)

print(f"重命名文件: {file_name} -> {new_file_name}")

return True

except Exception as e:

print(f"重命名失败: {file_name} -> {new_file_name},错误: {e}")

return False

return False

def search_and_rename_files(folder):

for root, dirs, files in os.walk(folder):

for file in files:

if any(file.endswith(ext) for ext in file_extensions):

file_path = os.path.join(root, file)

print(f"找到文件: {file_path}")

if rename_file(file_path):







请到「今天看啥」查看全文