
该脚本用于批量重命名文件夹中的文件,将文件名保留到指定的某一部分。具体来看,文件名以分隔符
"_"和"."分割,只保留文件名的前缀和扩展名。
代码块
import os
def rename_files(folder_path):
"""
批量修改文件名,将指定子字符串从文件名中删除。
参数:
- folder_path (str): 文件夹路径。
"""
for filename in os.listdir(folder_path):
# 获取新文件名
temp_name = filename.split('_')[0]
new_filename = temp_name + '.' + filename.split('.')[-1]
# 构造完整的文件路径
old_file_path = os.path.join(folder_path, filename)
new_file_path = os.path.join(folder_path, new_filename)
# 重命名文件
os.rename(old_file_path, new_file_path)
print(f"renamed: {filename} -> {new_filename}")
if __name__ == "__main__":
# 文件夹路径
folder_path = r"e:\xxx"
# 执行重命名
rename_files(folder_path)
代码讲解
函数 rename_files(folder_path)
os.listdir(folder_path)列出指定文件夹路径中的所有文件。filename.split('_')[0]通过_分隔文件名,并提取分隔后的第一部分作为新文件名的主部分。- 示例:如果文件名是
"example_wi.tif",filename.split('_')[0]会得到"example"。
- 示例:如果文件名是
filename.split('.')[-1]通过.分隔文件名,并提取分隔后的最后一部分作为扩展名。- 示例:对于
"example_wi.tif",filename.split('.')[-1]会得到"tif"。
- 示例:对于
os.path.join(folder_path, filename)生成完整的文件路径。os.rename(old_file_path, new_file_path)使用os.rename将文件名从旧路径重命名为新路径。
主程序
folder_path定义目标文件夹路径,程序将在该路径中操作文件名。执行函数调用
rename_files(folder_path),批量修改目标路径中的文件名。
示例分析
假设文件夹 e:\_orderingproject\f_islandsboundarychange\c_geedata\sids_grid_y20 下包含以下文件:
example_wi.tif test_wi.tif file_wi.tif
运行代码后,重命名过程如下:
| 原始文件名 | 新文件名 |
|---|---|
example_wi.tif | example.tif |
test_wi.tif | test.tif |
file_wi.tif | file.tif |
程序关键点
灵活性文件名可以根据不同的分隔符或规则进行修改。
通用性适用于任何文件类型,例如
.tif、.jpg、.png等。注意事项
- 确保目标文件夹中没有同名文件,以避免覆盖。
- 如果文件名中没有分隔符
_,可能导致重命名出错,可添加额外检查。
总结
到此这篇关于如何利用python批量重命名文件夹中文件的文章就介绍到这了,更多相关python批量重命名文件夹文件内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论