python实现批量分类,移动文件
今天我们来实现一个批量移动文件的方法,很多地方也是间接别人的代码,只要这样就再也不用担心文件移动问题了。
开始实现一下代码吧!
1.创建函数,主要实现判断文件结尾,将文件添加到一个列表中。
def scanDir(directory, postfix=None):
files_list = []
for root, dirs, files in os.walk(directory):
for special_file in files:
# 判断文件结尾,将路径和文件名添加到一个列表中。
if postfix:
if special_file.endswith(postfix):
files_list.append(os.path.join(root, special_file))
return files_list
2.编写创建文件夹的方法
def mkdir(path):
path = path.strip()
path = path.rstrip("\\")
isExists = os.path.exists(path)
# 判断文件是否存在结果
if not isExists:
os.makedirs(path)
print(path + ' 创建成功')
return True
else:
print(path + ' 目录已存在')
return False
3.主业务逻辑,编写在了main中,为后期修改方便
if __name__ == '__main__':
# 路径
path= ''
# 指定每个目录下的文件数量
fileMun = 100
start = 0
number = 0
# 移动目录
move_To = path+ os.sep + '0-100'
mkdir(moveToDirectory)
# 传入判断的文件结尾
fileList = scanDir(path, postfix=".jpg")
for fileName in fileList:
start += 1
shutil.move(fileName, move_To)
if start == fileMun:
start = 0
number += fileMun
number_1 = number + fileMun
moveToDirectory = path+ os.sep + '{}-{}'.format(number, number_1)
mkdir(moveToDirectory)
谢谢大家,有问题请多多指教!!!