如何使用Python一键修改上万个文件名
修改文件名是计算机日常操作之一,但是当文件数量较多时手动修改是不可取的。Python作为一种简单易用的编程语言,可以帮助我们轻松一键修改上万个文件名。
以下是完整的攻略:
- 确定目标文件夹
首先需要确定需要修改文件名的目标文件夹,建议将所有需要修改的文件都放在同一文件夹中。可以使用Python的os模块读取目标文件夹中的文件列表。
import os
path = r'C:\Users\Name\Desktop\files' # 目标文件夹的路径
file_list = os.listdir(path) # 读取目标文件夹中的文件列表
- 编写修改文件名的函数
接下来需要编写修改文件名的函数。下面的示例代码将文件名中的空格替换为下划线,并且将文件名全部转为小写字母。
def modify_file_name(file_name):
# 文件名中的空格替换为下划线
file_name = file_name.replace(' ', '_')
# 文件名转为小写字母
file_name = file_name.lower()
return file_name
- 遍历文件列表并修改文件名
接下来使用for循环遍历文件列表,并调用修改文件名的函数修改文件名。
for file_name in file_list:
# 获取文件的绝对路径
file_path = os.path.join(path, file_name)
# 获取修改后的文件名
new_file_name = modify_file_name(file_name)
# 修改文件名
os.rename(file_path, os.path.join(path, new_file_name))
完成以上三步操作后,所有文件名就可以完成修改了。
示例说明:
假设目标文件夹中有10000个文件,这些文件名中包含空格和大写字母。下面的示例代码将所有文件名中的空格替换为下划线,并且将文件名全部转为小写字母。
import os
path = r'C:\Users\Name\Desktop\files' # 目标文件夹的路径
file_list = os.listdir(path) # 读取目标文件夹中的文件列表
def modify_file_name(file_name):
# 文件名中的空格替换为下划线
file_name = file_name.replace(' ', '_')
# 文件名转为小写字母
file_name = file_name.lower()
return file_name
for file_name in file_list:
# 获取文件的绝对路径
file_path = os.path.join(path, file_name)
# 获取修改后的文件名
new_file_name = modify_file_name(file_name)
# 修改文件名
os.rename(file_path, os.path.join(path, new_file_name))
另外一个示例是将文件名中的数字去掉,并且加上前缀字符串“test_”。
import os
path = r'C:\Users\Name\Desktop\files' # 目标文件夹的路径
file_list = os.listdir(path) # 读取目标文件夹中的文件列表
def modify_file_name(file_name):
# 去掉文件名中的数字
file_name = ''.join(filter(lambda x: not x.isdigit(), file_name))
# 加上前缀字符串
file_name = 'test_' + file_name
return file_name
for file_name in file_list:
# 获取文件的绝对路径
file_path = os.path.join(path, file_name)
# 获取修改后的文件名
new_file_name = modify_file_name(file_name)
# 修改文件名
os.rename(file_path, os.path.join(path, new_file_name))
以上两个示例都可以通过修改modify_file_name函数的内容来实现不同的文件名修改方式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何使用Python一键修改上万个文件名 - Python技术站