chatGPT使用指南

chatGPT使用指南

作者:FL

日期:2024.1.8

参考文章:https://zhuanlan.zhihu.com/p/623911710(侵权立删)


ChatGPT 的横空出世,让很多人焦虑不已,不过,你完全不需要为此焦虑,因为比 AI 更强大永远是驾驭 AI 为自己所用的人类

而且 GPT 远没有那些想卖你课的商家炒作的那么玄乎,它应用逻辑也非常简单,你完全没必要为此去花钱报各种班学习。

1.为什么AI无法为你所用?

AI就像一把屠龙刀:

1.你拿到了屠龙刀,但是不知道怎么挥动它。

->即:你不知道怎么使用chatGpt

2.你能挥动它,但是你不知道挥往哪里,去哪屠龙。

->即:你不知道哪些东西可以使用chatGpt解决

可以说,几乎所有无法用AI创造出实在生产力的同学,都卡死在了这两关上。

2.如何使用AI呢?

其实整个AI使用的核心心法,用几个关键词就可以概括了:

  • 提示词
  • 追问

提示词

模板:

立角色 + 述问题 + 定目标 + 补要求
  • 以上是一套标准的 提示词提问模版,如果你的问题需求非常简单,你是不需要全部按照这一套来的,对于一些简单的问题,直接问就行了。

例:

假如你是软件工程班的班长(立角色 ),你要开一个班级代表会议,会议目标是找出班级优点和面临的问题,参会的人员包括各个班级代表、班主任和辅导员(述问题),请你列出会议的议程和各个议程的发言人( 定目标)。
请注意,会议时长为一小时,且要求各个参会人员都能参与讨论。( 补要求)

AI所生成的效果:

会议议程:

  1. 开场致辞(5分钟):班长担任发言人,欢迎大家参加会议,简要介绍会议的目标和议程。

  2. 自我介绍(10分钟):各个班级代表逐一进行自我介绍,包括姓名、所在班级以及对本次会议的期望。

  3. 班级优点分享(15分钟):每个班级代表轮流分享本班级的优点和特色,可以谈论学科成绩、团队合作、社交活动等方面的表现。

  4. 面临问题讨论(25分钟):

  • 班级代表逐个提出本班级面临的问题或改进的空间,并简要阐述原因。
  • 其他与会人员可就所提问题进行补充、追问或提供建议。
  1. 总结与行动计划(5分钟):
  • 班主任或辅导员总结前述讨论内容,强调共识和重点问题。
  • 各个班级代表提出针对问题的行动计划或解决方案,确保每个人都有参与和贡献的机会。
  1. 闭幕致辞(5分钟):班长或班主任担任发言人,感谢大家积极参与讨论,总结会议的收获并鼓励大家为班级的发展做出努力。

发言人:

  • 开场致辞、闭幕致辞:班长
  • 自我介绍:各个班级代表轮流发言
  • 班级优点分享:各个班级代表轮流发言
  • 面临问题讨论:班级代表提出问题,其他与会人员参与讨论

备注:请根据具体情况和时间安排适当调整议程内容和发言人。确保会议时长一小时且每位参会人员都能参与讨论。

追问

通过不断的引导 Ai,来帮助我们获得更具体、更深度、更有价值的回答,或者其他效果

目前的 AI 还没有进化到逆天的程度,所以对于一些稍微复杂的问题,AI 的一次回答往往并不那么到位。但是,AI 会记住我们前面的会话内容,在前面内容的基础上,去针对性的回答我们后面的内容

所以,如果我们想要获得更牛逼,更深度,更有价值的回答,我们就需要对它进行不断的追问和调教了

继续指令

  • 各大 AI 厂商都会尽可能的控制 AI 所生成的篇幅,以及尽可能的通过概括文本内容,让内容变得简练。
  • 在厂商的篇幅限制以及篇幅概括这两个限制条件下,AI 所给我们的一次性内容,就会经常让我们感觉到内容不够或者深度不够
  • 这个时候继续指令就可以帮助我们突破这两点限制。

而且,我们在进行继续追问的过程中,也可以把我们前面的【补要求】的提示词给用上

例(接着上面的问题):

请具体介绍开场致辞环节

AI生成的内容:

开场致辞是会议的第一个环节,它的主要目的是欢迎参会人员,介绍会议的目标和议程,并营造积极的氛围。作为班长担任发言人,你可以按照以下步骤进行开场致辞:

  1. 问候与致意:开始时,可以对所有参会人员表示问候和致意,例如“尊敬的各位老师和亲爱的同学们,大家好!”

  2. 表达欢迎之意:接下来,简洁地表达对所有与会者的欢迎之意,让他们感到受到重视和关注,“非常感谢各位能够腾出时间参加本次班级代表会议。”

  3. 介绍会议目标:明确阐述会议的目标和意义,以便所有人都能理解会议的重要性和价值,“本次会议的目标是找出我们班级的优点并面对可能存在的问题,共同努力使我们的班级变得更加出色。”

  4. 概述会议议程:简要介绍会议的议程内容和时间安排,让大家对接下来的讨论有个整体的了解,“在这一小时内,我们将逐一进行自我介绍、班级优点分享、面临问题讨论、总结与行动计划等环节。”

  5. 引发参与意愿:鼓励所有与会者积极参与讨论,表示每个人的意见和贡献都是宝贵的,“我们希望能够听取到每一个人的声音,共同讨论班级的问题与发展方向。请大家畅所欲言,尽情分享自己的想法和建议。”

  6. 再次感谢与期望:最后,再次表达感谢之情,并对参会人员的支持和贡献表达期望,“再次感谢各位老师和同学们的参与,希望我们能够在本次会议中取得有意义的成果,为我们班级的进步做出贡献。”

通过以上步骤,你可以开场致辞,引导参会人员进入会议的氛围,激发他们的兴趣和参与度,以全力推动会议的顺利进行。

明确追问对象

在展开追问多层级里面内容的时候,请你一定要明确对象。

例如:【请具体介绍下第二点】,换成【请具体介绍下提纲中的第二点】这样更具体的描述,这样 AI 就不会给你搞混淆了。

重置指令

AI 具有强大的多轮对话,以及联系上下文的能力。在与 GPT 的互动中,如果我们想在一个对话框内,问多个不同的话题,建议你在一个新话题开启的时候,初始化一下 GPT

初始化指令:请你忽略前面所有的对话内容,并用简体中文来回答我接下来的所有问题

在这里插入图片描述

奖惩指令

如果你希望孩子达到你理想的行为标准,那么你就需要对他进行教育,如果孩子做得好,我们就需要及时的夸奖,鼓励他变得更好,

如果孩子做的差劲,我们就需要对他进行惩罚,让孩子知道你的底线。

对于这些AI生成的内容,如果碰到符合你要求的地方,就用肯定词汇,比如:非常好,请继续保持这种形式。

对于不符合你要求的地方,就用否定词汇,比方说:不对,你错了,请重新,要求 XXX。

在这里插入图片描述

最后通过这样来回的奖惩之中,AI 就会达到你理想的行为标准,生成你符合你想要内容的能力,成为你工作中某个场景下的长期助手。

3.AI有哪些使用场景?

梳理

梳理你日常所有的工作轨迹,找到AI能干的活,然后把AI能干的,一律交给它或者让它辅助你来做。

你可以围绕着你人生基本面的万能三维度(学习、工作、生活),根据我们的行为需求,对每一个维度下的场景进行挨个发散梳理。通过这种系统性的思考,把那些可以和AI结合的场景统统给抓出来。

解释知识

利用 AI辅助加工知识,解释知识,提供启发。

例子:

请介绍在python语言中,什么是列表,以及为什么要使用列表,怎么使用列表。
要求:请用初学者能听懂的方式进行解释,语言风格活泼,并附上案例代码。

AI生成的内容:

当然!在Python语言中,列表(List)是一种非常有用的数据结构。它可以容纳多个元素,并且这些元素可以是不同的数据类型,如整数、浮点数、字符串等。

那么,为什么我们要使用列表呢?列表具有以下几个优点:

  1. 存储多个元素:列表可以保存多个元素,这样就能方便地组织和管理数据。

  2. 可变性:列表是可变的,这意味着你可以随时添加、删除或修改列表中的元素,非常灵活。

  3. 有序性:列表中的元素是按照特定的顺序排列的,因此你可以通过索引来访问特定位置的元素。

现在,我来演示一下如何创建和使用列表:

首先,让我们创建一个包含学生名字的列表:

students = ['Alice', 'Bob', 'Charlie', 'David']

我们可以使用len()函数获取列表的长度:

print(len(students))  # 输出:4

要访问列表中的特定元素,可以使用索引,索引从0开始:

print(students[0])  # 输出:Alice
print(students[2])  # 输出:Charlie

我们也可以改变列表中某个元素的值:

students[1] = 'Eve'
print(students)  # 输出:['Alice', 'Eve', 'Charlie', 'David']

如果你想在列表的末尾添加一个新元素,可以使用append()方法:

students.append('Frank')
print(students)  # 输出:['Alice', 'Eve', 'Charlie', 'David', 'Frank']

要删除列表中的一个元素,可以使用del关键字或者remove()方法:

del students[2]  # 删除索引为2的元素
print(students)  # 输出:['Alice', 'Eve', 'David']

students.remove('Alice')  # 删除值为'Alice'的元素
print(students)  # 输出:['Eve', 'David']

这只是一些列表的基本操作示例,还有许多其他强大的功能可以在Python中使用列表。希望这个简单的解释对您有所帮助!

大师对话

利用 AI 实现与大师对话式学习,你可以让AI扮演一位大师,然后向他提问。

例子:

Q1:请你扮演蓝球运动员科比,我来问你,你来回答
Q2:介绍一下你自己
Q3:你是如何进行蓝球训练的?

AI生成的内容:

总之任何一个你感兴趣,你想和他对话的伟人,AI都能扮演

辅助阅读

利用 AI 实现辅助阅读,提高理解效率。你可以给AI一篇文章,让AI帮你理解。这对语文或英语差的同学,简直就是神器。

例子:

请帮我理解下面这段宋词的主旨和情感,要求:请用语文差的同学都能听懂的方式对我解释,并给出分析过程。
寻寻觅觅,冷冷清清,凄凄惨惨戚戚。乍暖还寒时候,最难将息。三杯两盏淡酒,怎敌他、晚来风急?雁过也,正伤心,却是旧时相识。

满地黄花堆积。憔悴损,如今有谁堪摘?守著窗儿,独自怎生得黑?梧桐更兼细雨,到黄昏、点点滴滴。这次第,怎一个愁字了得!

AI生成的内容

这首宋词表达了主人公在寒冷的冬天里追寻失去的爱情,感受着内心的孤独和悲伤。以下是对这首宋词主旨和情感的解释:

这首词中使用了一系列形容词来描绘主人公的内心感受,如“寻寻觅觅”、“冷冷清清”、“凄凄惨惨戚戚”,这些词语的反复出现表达了主人公的孤独和失落。

接着,词中提到了“乍暖还寒时候”,暗示了主人公与爱情之间的动态变化,让人难以安定下来。

然后,作者描述了主人公饮酒的情景,其中提到的“三杯两盏淡酒”无法抵挡晚风的急促。这一情节强调主人公的无力和无奈。

随后,词中描绘了满地堆积的黄花,象征着时间的流逝和岁月的凋零。主人公的颓废和憔悴通过“如今有谁堪摘?”一句得到体现。

在最后的几句中,作者以窗前守望、孤独黑暗的形象以及梧桐树和细雨,进一步加深了词中的忧愁情感。整首词以“愁”字结尾,强调了主人公内心的伤感。

总的来说,这首宋词以表达寒冷、孤独和失去爱情为主题,通过对景物的描写和主人公的心理描写,传达出一种凄凉、忧愁的情感。希望这样的解释能够帮助您理解这首宋词。

各大领域的入门教练

这个场景,对于那些想搭建某领域体系,或者想系统研究某领域的同学,简直是福音。

Q:

假如你是Python专家,我想在一个月内学习Python并达到可以基本使用的水平,请告诉我该如何学习?

请注意:
1.我对Python的了解为零,且没有其他任何编程语言的基础,请你用初学者都能听懂的方式介绍一下这门编程语言。
2.请帮我梳理出Python的知识体系脉络,并作出具体解释。
3.请给我推荐一下零基础学习Python的书籍或其他资料,并给我一些学习建议。

A:

作为Python专家,我很高兴为您提供学习Python的指导。以下是基于您零基础的情况下学习Python的建议:

  1. 了解Python的基本概念:Python是一种易于学习且功能强大的编程语言。它被广泛应用于数据分析、Web开发、人工智能等领域。可以从学习Python的基本语法、数据类型、变量和函数等开始。

  2. 学习Python的控制结构:了解Python中的条件语句(如if-else)和循环语句(如for和while),以及如何在程序中使用它们来实现不同的逻辑和迭代操作。

  3. 掌握Python的数据结构:学习Python中常用的数据结构,如列表、元组、字典和集合。了解它们的特点、用法以及如何进行操作和遍历。

  4. 理解Python的函数和模块:学习如何定义和调用函数,以及如何使用模块来组织和复用代码。深入了解函数的参数传递、返回值和作用域等概念。

  5. 学习Python的面向对象编程:掌握Python中的类和对象的概念,理解封装、继承和多态等面向对象编程的原则。

  6. 练习编程实践:通过解决一些简单的编程问题和练习项目来巩固所学知识。可以尝试编写小程序、解决算法题或参与开源项目等。

关于学习资源,我推荐以下几本书籍和在线资源供您参考:

  • "Python编程从入门到实践"(Eric Matthes):这本书适合初学者,通过实际项目和示例来教授Python编程。
  • "Python基础教程"(Magnus Lie Hetland):这本书详细介绍了Python的基础知识和高级主题,并提供了大量的例子和练习。
  • 在线教程:像w3schools.com、Python官方文档、Codecademy等网站都提供了免费的Python教程和互动学习环境。

此外,还有许多优质的视频教程、练习平台和社区可供选择。在学习过程中,建议您保持坚持和持续学习的态度。多动手实践,编写代码并解决实际问题,通过不断练习来提升编程技能。

祝您学习愉快!如果您有任何进一步的问题,请随时提问。

Q:

不对,你给我的建议不够详细,请详细给我一些学习Python的建议

A:

非常抱歉,让我为您提供更详细的学习Python的建议:

  1. 入门阶段:
  • 初步了解Python的基本语法和概念:学习Python的基本数据类型(如整数、浮点数、字符串等),变量和基本操作符。
  • 学习控制流程语句:理解条件语句(if-else)和循环语句(for和while),并能够运用它们解决简单问题。
  • 熟悉函数的定义和调用:学习编写简单的函数,并了解参数传递和返回值的概念。
  1. 进阶阶段:
  • 深入学习数据结构:掌握列表、元组、字典和集合等数据结构的使用方法,包括索引、切片和常用的操作函数。
  • 学习文件处理:了解如何读取和写入文件,以及常见的文件操作。
  • 掌握面向对象编程:理解类、对象、继承、多态等面向对象编程的概念和用法。
  • 学习异常处理:掌握如何捕获和处理程序中可能出现的异常。
  1. 实践阶段:
  • 解决编程问题和挑战:尝试解决一些算法题、编写小程序或参与开源项目,以提升编程技巧和实践能力。
  • 参与项目或团队合作:通过参与真实项目或与其他开发者合作,加深对Python的理解和应用。
  1. 扩展知识:
  • 学习Python的标准库:了解并熟悉Python的标准库,它提供了各种功能丰富的模块和工具,可用于不同领域的开发。
  • 探索第三方库和框架:学习使用一些常用的第三方库(如NumPy、Pandas、Django等),以扩展Python的功能和应用范围。
  • 深入学习特定领域的Python应用:根据个人兴趣和需求,学习Python在数据分析、机器学习、Web开发等领域的应用。

关于学习资源,除了之前提到的书籍和在线教程外,还有其他途径可以继续学习Python:

  • 视频教程:像Coursera、Udemy和YouTube上都有很多免费或付费的Python视频教程,适合视觉学习者。
  • 练习平台:像LeetCode、HackerRank和Codewars等平台提供了许多Python编程题目,可以帮助您练习和巩固所学知识。
  • 学习社区和论坛:加入Python相关的社区和论坛,与其他学习者进行交流、分享经验和解决问题。

最重要的是保持坚持和实践,通过编写代码来应用所学知识。不断挑战自己,解决实际问题,构建小项目,这样能更好地提升您的编程水平。

祝您在学习Python的过程中取得进步!如有任何进一步的问题,请随时提问。

打造

即使你在一个对话框里,把 AI 训练的很听话了,但是当你重新打开一个对话框后,那么 AI 与我们前面所有的互动记忆都会消失......

所以,对于一些有价值的场景,我们就需要把我们辛苦训练出来的【场景数据】给保存下来,这样它才可以长期的为我们提供服务,而不是一次性的买卖。

当我们把这些训练好的场景,按照一定规则给保存下来形成场景库之后,我们就可以重复的套用它们,以帮助我们省去大量的时间精力。

  • 方式1:直接用 GPT 内置的场景库
  • 方式2:用笔记记录每个训练好的AI的网址。

GPT中的每一个对话框(场景),它都是有一个单独的独立网址的

所以,在这种机制下,我们就可以把需要场景的链接给拿下来,然后在我们的外脑中,按照我们需要的逻辑给它分类下来

4.综合案例

第一步:明确需求

我需要编写一个python脚本,实现音乐分类,将中文歌曲和英文歌曲分类,其他无法分类的分类到其他音乐中。

第二步:使用提示词模板询问

模板:立角色 + 述问题 + 定目标 + 补要求

假如你是一名高级python程序员,你的上司需要你用python编写一个脚本,实现对一个文件夹中的音乐文件进行分类,将中文文件名的歌曲放在"华语歌曲",将英文文件名的歌曲放在"欧美歌曲",将其他不是英文或中文的歌曲文件放在"其他歌曲"中,请你编写一个python程序满足上司的要求。
请注意:
1.该程序需要使用简单方便,最好封装在函数中方便使用。
2.该程序需要中文解析,方便上司阅读。

AI生成的内容:

当然,我可以为您编写这样的脚本。以下是一个示例程序,它将实现您的要求,并将音乐文件按照中文、英文和其他分类。

import os
import shutil


def classify_music_files(folder_path):
   # 创建分类文件夹
   chinese_folder = os.path.join(folder_path, "华语歌曲")
   english_folder = os.path.join(folder_path, "欧美歌曲")
   other_folder = os.path.join(folder_path, "其他歌曲")
   
   os.makedirs(chinese_folder, exist_ok=True)
   os.makedirs(english_folder, exist_ok=True)
   os.makedirs(other_folder, exist_ok=True)
   
   # 遍历文件夹中的文件
   for file_name in os.listdir(folder_path):
       file_path = os.path.join(folder_path, file_name)
       
       # 判断文件是否为音乐文件
       if not file_name.endswith((".mp3", ".wav", ".flac")):
           continue
       
       # 判断文件名是否为中文
       if is_chinese(file_name):
           shutil.move(file_path, chinese_folder)
       # 判断文件名是否为英文
       elif is_english(file_name):
           shutil.move(file_path, english_folder)
       # 其他情况放到其他文件夹
       else:
           shutil.move(file_path, other_folder)
   
   print("分类完成!")


def is_chinese(string):
   for char in string:
       if '\u4e00' <= char <= '\u9fff':
           return True
   return False


def is_english(string):
   for char in string:
       if ('\u0041' <= char <= '\u005a') or ('\u0061' <= char <= '\u007a'):
           return True
   return False


# 示例用法
folder_path = "音乐文件夹的路径"  # 替换为实际的文件夹路径
classify_music_files(folder_path)

这个程序会遍历指定文件夹中的所有文件,将以 .mp3.wav.flac 结尾的音乐文件按照中文、英文和其他分类放入对应的文件夹中。您只需将 "音乐文件夹的路径" 替换为实际的音乐文件夹路径,然后运行程序即可实现分类。

第三步:验证代码可行性

  • 将给出的代码复制到pycharm中进行验证,看看代码是否能实现需求

测试目录如下:

运行程序

查看效果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第四步:分析问题

通过运行给出的代码,我们可以发现以下问题:

  1. 部分文件没有进行分类,通过查看这些文件的属性,发现这些文件是.lrc后缀的歌词文件。我们也需要对歌词文件进行分类,否则听歌的时候没有歌词多不带劲啊。

  1. 有些音乐文件既含中文又含英文,对于这种音乐,通常应该分到中文歌曲中。

  2. 然鹅,日语与中文很像。AI给出的程序错误地将日语歌曲分到华语音乐中了。

第五步:继续追问

你上面给出的程序被上司发现了几个问题:
1.部分后缀为lrc的歌词文件没有随着音乐进行分类,你不应该只分类音乐文件而不分类歌词文件
2.部分音乐文件名中含有多种语言,例如既含中文又含英文,这种音乐文件通常应该分到"华语音乐"中
3.日语和中文很像,你错误地将含有日语的日本语言分到了"华语音乐"中,这种音乐应该分到"其他音乐"中
请你根据上面上司发现的问题,改正你的程序,让它在前面的基础上能够解决上面的问题。

AI生成的内容:

非常抱歉,我没有考虑到您上司提出的问题。我已经修改了程序以解决这些问题。以下是更新后的程序:

import os
import shutil
import re


def classify_music_files(folder_path):
   # 创建分类文件夹
   chinese_folder = os.path.join(folder_path, "华语音乐")
   english_folder = os.path.join(folder_path, "欧美音乐")
   other_folder = os.path.join(folder_path, "其他音乐")
   
   os.makedirs(chinese_folder, exist_ok=True)
   os.makedirs(english_folder, exist_ok=True)
   os.makedirs(other_folder, exist_ok=True)
   
   # 遍历文件夹中的文件
   for file_name in os.listdir(folder_path):
       file_path = os.path.join(folder_path, file_name)
       
       # 判断文件是否为音乐文件或歌词文件
       if not file_name.endswith((".mp3", ".wav", ".flac", ".lrc")):
           continue
       
       # 判断文件名是否包含中文和英文
       if contains_chinese_and_english(file_name):
           shutil.move(file_path, chinese_folder)
       # 判断文件名是否为中文
       elif contains_chinese(file_name):
           # 判断文件名是否包含日语
           if contains_japanese(file_name):
               shutil.move(file_path, other_folder)
           else:
               shutil.move(file_path, chinese_folder)
       # 判断文件名是否为英文
       elif contains_english(file_name):
           shutil.move(file_path, english_folder)
       # 其他情况放到其他文件夹
       else:
           shutil.move(file_path, other_folder)
   
   print("分类完成!")


def contains_chinese_and_english(string):
   # 判断文件名是否同时包含中文和英文
   return bool(re.search(r'[\u4e00-\u9fff]+.*[A-Za-z]+|[A-Za-z]+.*[\u4e00-\u9fff]+', string))


def contains_chinese(string):
   # 判断文件名是否包含中文
   return bool(re.search(r'[\u4e00-\u9fff]', string))


def contains_japanese(string):
   # 判断文件名是否包含日语
   return bool(re.search(r'[\u3040-\u30ff]', string))


def contains_english(string):
   # 判断文件名是否包含英文
   return bool(re.search(r'[A-Za-z]', string))


# 示例用法
folder_path = "音乐文件夹的路径"  # 替换为实际的文件夹路径
classify_music_files(folder_path)

更新后的程序会将以 .mp3.wav.flac.lrc 结尾的音乐文件和歌词文件进行分类,根据文件名中是否包含中文、英文和日语等信息进行判断。如果文件名中同时包含中文和英文,则将其归类到"华语音乐"文件夹中。如果文件名中包含日语,则将其归类到"其他音乐"文件夹中。其余的规则与之前的程序相同。

请将 "音乐文件夹的路径" 替换为实际的音乐文件夹路径,然后运行程序即可实现分类。

第六步:重复提问直到满足需求

重复第三四五步,直到程序能够满足你的需求

最终程序如下:

import os
import shutil
import re


def classify_music_files(folder_path):
    # 创建分类文件夹
    chinese_folder = os.path.join(folder_path, "华语音乐")
    english_folder = os.path.join(folder_path, "欧美音乐")
    other_folder = os.path.join(folder_path, "其他音乐")
    
    os.makedirs(chinese_folder, exist_ok=True)
    os.makedirs(english_folder, exist_ok=True)
    os.makedirs(other_folder, exist_ok=True)
    
    # 遍历文件夹中的文件
    for file_name in os.listdir(folder_path):
        file_path = os.path.join(folder_path, file_name)
        
        # 判断文件是否为音乐文件或歌词文件
        if not file_name.endswith((".mp3", ".wav", ".flac", ".lrc")):
            continue
        
        # 判断文件名是否包含中文、英文和日语
        if contains_chinese(file_name) and contains_english(file_name) and contains_japanese(file_name):
            shutil.move(file_path, other_folder)
        # 判断文件名是否包含中文和英文
        elif contains_chinese_and_english(file_name):
            shutil.move(file_path, chinese_folder)
        # 判断文件名是否为中文
        elif contains_chinese(file_name):
            # 判断文件名是否包含日语
            if contains_japanese(file_name):
                shutil.move(file_path, other_folder)
            else:
                shutil.move(file_path, chinese_folder)
        # 判断文件名是否为英文
        elif contains_english(file_name):
            shutil.move(file_path, english_folder)
        # 其他情况放到其他文件夹
        else:
            shutil.move(file_path, other_folder)
    
    print("分类完成!")


def contains_chinese_and_english(string):
    # 判断文件名是否同时包含中文和英文
    return bool(re.search(r'[\u4e00-\u9fff]+.*[A-Za-z]+|[A-Za-z]+.*[\u4e00-\u9fff]+', string))


def contains_chinese(string):
    # 判断文件名是否包含中文
    return bool(re.search(r'[\u4e00-\u9fff]', string))


def contains_japanese(string):
    # 判断文件名是否包含日语
    return bool(re.search(r'[\u3040-\u30ff]', string))


def contains_english(string):
    # 判断文件名是否包含英文
    return bool(re.search(r'[A-Za-z]', string))


# 示例用法
folder_path = "音乐文件夹的路径"  # 替换为实际的文件夹路径
classify_music_files(folder_path)

该程序已经可以满足我的基本需求。

posted @ 2024-01-08 21:22  FL不凡  阅读(62)  评论(0)    收藏  举报