如何批量将文本文件每行导出为以首词命名的独立文本文件?
按宝可梦名称生成独立文本文件的解决方案
问题描述
我有一个存储宝可梦信息的文本文件,格式如下:
Bulbasaur 𝗚𝗿𝗮𝘀𝘀🍃 𝗣𝗼𝗶𝘀𝗼𝗻🧪 Ivysaur 𝗚𝗿𝗮𝘀𝘀🍃 𝗣𝗼𝗶𝘀𝗼𝗻🧪 Venusaur 𝗚𝗿𝗮𝘀𝘀🍃 𝗣𝗼𝗶𝘀𝗼𝗻🧪 Charmander 𝗙𝗶𝗿𝗲🔥……以此类推。我希望将该文本文件转换为1025个独立文本文件(每行对应一个),每个文件以该行的第一个单词命名(例如Bulbasaur.txt、Ivysaur.txt)。我发现仅用Notepad++无法完成此操作,搜索后找到的Python代码是按行号命名文件的,我不懂编程也不熟悉Python,请问该如何实现?
修改后的Python代码
直接用下面的代码替换你找到的版本,就能实现按宝可梦名称命名文件:
with open("text_file.txt", encoding="utf-8") as f: for line in f: # 跳过空行避免出错 if not line.strip(): continue # 拆分每行内容,提取第一个单词作为文件名 pokemon_name = line.split()[0] # 创建对应文件并写入该行内容 with open(f"{pokemon_name}.txt", "w", encoding="utf-8") as g: g.write(line)
小白操作步骤
- 安装Python:下载对应系统的Python安装包(官网即可),安装时一定要勾选「Add Python to PATH」选项,然后按默认步骤完成安装。
- 整理文件:把你的宝可梦信息文本文件重命名为
text_file.txt,放到一个空文件夹里。 - 创建代码文件:在同一个文件夹里新建一个文本文件,把上面的代码复制粘贴进去,然后把文件名改成
split_pokemon.py(注意后缀要从.txt改成.py)。 - 运行代码:打开这个文件夹,按住Shift键右键点击空白处,选择「在此处打开PowerShell窗口」(Windows)或「打开终端」(Mac/Linux),输入
python split_pokemon.py后回车。
运行结束后,文件夹里就会生成每个宝可梦对应的独立txt文件了。
小提示
- 如果你的宝可梦文本文件名不是
text_file.txt,要把代码里的"text_file.txt"改成你实际的文件名。 - 代码里的
encoding="utf-8"是为了确保能正确处理文本里的特殊符号和emoji,避免乱码。
内容的提问来源于stack exchange,提问作者fast car
相关产品推荐
相关产品推荐

