下面是 Python 实现批量修改文件名的完整攻略。
1. 获取文件夹所有文件名
首先,我们需要获取指定文件夹下的所有文件名。可以使用 Python 内置的 os 库,使用 os.listdir() 方法获取文件夹内所有文件的名称(不包括子文件夹),返回值是一个列表。
import os
# 指定文件夹路径
folder_path = "/path/to/folder"
# 获取指定文件夹下的所有文件名
file_names = os.listdir(folder_path)
# 打印文件名列表,测试是否成功获取
print(file_names)
运行代码后,会输出所有文件名的列表。如:
['file1.jpg', 'file2.png', 'file3.pdf', ...]
2. 循环遍历文件名列表,修改文件名
接下来,我们需要对获取的文件名列表进行遍历,并进行文件名的修改。在遍历文件名列表时,可以使用 for 循环进行处理。
import os
# 指定文件夹路径
folder_path = "/path/to/folder"
# 获取指定文件夹下的所有文件名
file_names = os.listdir(folder_path)
# 遍历文件名列表,修改文件名
for old_name in file_names:
new_name = # 新的文件名,可以自行定义
os.rename(os.path.join(folder_path, old_name), os.path.join(folder_path, new_name))
说明:
- os.rename() 方法用于重命名文件或目录,接收两个参数,第一个参数是旧文件(或目录)的绝对路径(文件夹路径 + 文件名),第二个参数是新文件(或目录)的绝对路径。
- os.path.join() 方法用于将路径拼接起来,避免手动拼接时出现的路径分隔符问题。
示例一:将文件名后缀全部更换为大写字母
比如,我们现在有这样几个文件:
file1.jpg
file2.png
file3.pdf
现在我们要将文件名中的后缀全部更改为大写字母,也就是想要得到这样的文件名:
file1.JPG
file2.PNG
file3.PDF
可以使用下面这段代码实现:
import os
# 指定文件夹路径
folder_path = "/path/to/folder"
# 获取指定文件夹下的所有文件名
file_names = os.listdir(folder_path)
# 遍历文件名列表,修改文件名
for old_name in file_names:
root, ext = os.path.splitext(old_name) # 分离文件名和后缀名
new_name = root + ext.upper() # 新的文件名
os.rename(os.path.join(folder_path, old_name), os.path.join(folder_path, new_name))
示例二:在文件名前添加前缀
比如,我们现在有这样几个文件:
file1.jpg
file2.png
file3.pdf
现在我们要给这些文件名前都加上前缀 prefix_
,也就是想要得到这样的文件名:
prefix_file1.jpg
prefix_file2.png
prefix_file3.pdf
可以使用下面这段代码实现:
import os
# 指定文件夹路径
folder_path = "/path/to/folder"
# 获取指定文件夹下的所有文件名
file_names = os.listdir(folder_path)
# 遍历文件名列表,修改文件名
for old_name in file_names:
new_name = "prefix_" + old_name # 新的文件名
os.rename(os.path.join(folder_path, old_name), os.path.join(folder_path, new_name))
至此,Python 实现批量修改文件名的攻略已经完成。根据不同的需求,可以结合上述示例进行文件名的修改。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现批量修改文件名实例 - Python技术站