如何用python批量改文件名
1个回答
展开全部
首先你要有一个遍历目录的方法
之前帮别人筛文件写的, 没优化~
#遍历目录过滤指定类型和大小的文件
def walkDir(file_dir, format=None, size=0):
tmp_list = []
file_list = os.listdir(file_dir)
for file in file_list:
path = os.path.join(file_dir, file)
if os.path.isdir(path):
#目录递归
tmp_list += walkDir(path, format, size)
else:
#过滤文件类型大小
if format == None:
if size == 0:
tmp_list.append(path)
elif os.path.getsize(path) >= 1024 * size:
tmp_list.append(path)
elif os.path.splitext(file)[-1][1:] == format:
if size == 0:
tmp_list.append(path)
elif os.path.getsize(path) >= 1024 * size:
tmp_list.append(path)
return tmp_list
不过, 鉴于目录文件可能加多, 建议根据下面的方法, 做成生成器
def walk_all_gen(f_path):
file_list = os.listdir(f_path)
for i in file_list:
full_path = os.path.join(f_path, i)
if os.path.isdir(full_path):
# 这里进行递归, py版本足够高的话, for循环可以简写为
# yield from walk_all_gen(full_path)
for i in walk_all_gen(full_path):
yield i
else:
# 此处中断返回文件路径, 判断什么的可在此处进行
yield full_path
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询