下面是Python读取文件名并改名字的实例攻略。
一、问题描述
有时候我们需要批量修改文件名,但手动一个个改又太麻烦了,此时我们可以通过编写Python脚本来实现文件名的批量修改。
二、实现思路
Python的os模块提供了一些文件操作方法,可以在Python中方便地读取、修改文件。具体实现步骤如下:
- 获取需要修改的文件所在的文件夹路径。
- 遍历文件夹中的每一个文件。
- 对于每一个文件,获取它的文件名和文件扩展名。
- 通过修改文件名和文件扩展名,生成新的文件名。
- 最后,通过os模块的rename()方法,把原文件名修改为新的文件名。
三、示例1:将文件名中的中文字符替换为英文字符
我们以把文件名中的中文字符替换为英文字符为例进行说明。假设原文件路径为D:\test,我们需要把这个文件夹下所有文件中的中文字符替换为“_”。
import os
def renameFile(path):
fileList = os.listdir(path) #获取文件夹下的所有文件列表
for filename in fileList:
splitName = os.path.splitext(filename) #分割文件名和扩展名
newName = splitName[0].replace("中文", "_") + splitName[1]
os.rename(os.path.join(path,filename),os.path.join(path,newName)) #修改文件名
if __name__ == '__main__':
path = r"D:\test"
renameFile(path)
上面的代码通过os模块获取到文件夹下的所有文件列表,然后遍历列表中的每一个文件,把其中的中文字符替换为“_”,最后通过os.rename()方法修改文件名。
示例2:批量修改文件名后缀名
我们以把文件名后缀名从.txt修改为.docx为例进行说明。假设原文件路径为D:\test,我们需要把这个文件夹下所有.txt后缀的文件修改为.docx后缀。
import os
def renameFile(path):
fileList = os.listdir(path) #获取文件夹下的所有文件列表
for filename in fileList:
if os.path.splitext(filename)[1] == '.txt': #判断文件是否为.txt后缀
newName = os.path.splitext(filename)[0] + '.docx'
os.rename(os.path.join(path,filename),os.path.join(path,newName)) #修改文件名
if __name__ == '__main__':
path = r"D:\test"
renameFile(path)
上面的代码通过os模块获取到文件夹下的所有文件列表,然后遍历列表中的每一个文件,判断文件是否为.txt后缀,如果是则把文件名后缀名从.txt修改为.docx,最后通过os.rename()方法修改文件名后缀名。
通过以上两个示例,我们可以看到Python实现文件名批量修改的过程是比较简单的。只要有了实际场景,我们就可以根据需求编写出符合自己需求的Python脚本。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python读取文件名并改名字的实例 - Python技术站