下面是关于Python批量重命名和移动文件的完整攻略。
1. 需要导入的库
首先,我们需要导入相关的Python库,包括os和shutil,这两个库都是Python内置的标准库。其中,os库提供了许多与文件和目录相关的操作,shutil库则提供了更高级的文件操作方法。
import os
import shutil
2. 获取当前目录下所有文件名
接下来,我们需要获取当前目录下所有文件或文件夹的名称。我们可以使用os模块中的listdir函数来实现。该函数会返回当前目录下的所有文件和文件夹的名称,返回值是一个列表。我们也可以使用os.path模块判断某个名称是文件还是文件夹。
# 获取当前目录下所有文件或文件夹的名称
def get_file_list():
return os.listdir()
# 判断给定的名称是文件还是文件夹
def is_path_exist(path):
return os.path.exists(path)
# 判断给定的名称是文件还是文件夹
def is_file(path):
return os.path.isfile(path)
3. 批量重命名文件
有时候我们需要批量重命名文件,可以使用os模块中的rename函数来重命名文件。
# 批量重命名文件
def rename_files(old_name: str, new_name: str):
if old_name == new_name:
return
if not is_file(old_name):
return
os.rename(old_name, new_name)
4. 批量移动文件
批量移动文件需要使用shutil模块中的move函数。
# 移动文件或文件夹
def move_file(old_path: str, new_path: str):
shutil.move(old_path, new_path)
示例1:重命名指定后缀名的文件
# 批量重命名指定后缀名的文件
def rename_files_by_ext(ext: str, new_ext: str):
for file_name in get_file_list():
if file_name.endswith(ext):
new_file_name = file_name.replace(ext, new_ext)
rename_files(file_name, new_file_name)
在示例1中,我们使用了一个函数rename_files_by_ext,该函数可以重命名指定后缀名的文件。
示例2:移动指定后缀名的文件到指定目录
# 移动指定后缀名的文件到指定目录
def move_files_by_ext(ext: str, folder_path: str):
if not is_path_exist(folder_path):
return
if not os.path.isdir(folder_path):
return
for file_name in get_file_list():
if file_name.endswith(ext):
move_file(file_name, os.path.join(folder_path, file_name))
在示例2中,我们使用了一个函数move_files_by_ext,该函数可以将指定后缀名的文件移动到指定目录中。
以上就是关于Python批量重命名和移动文件的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 批量重命名移动文件 - Python技术站