指定文件个数移动文件,并创建文件夹

python实现批量分类,移动文件

今天我们来实现一个批量移动文件的方法,很多地方也是间接别人的代码,只要这样就再也不用担心文件移动问题了,妈妈!(我要移动文件),移,n条数据够不够,(够了,谢谢,妈妈!),这只是一个玩笑而已!!!
开始实现一下代码吧!
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)

谢谢大家,有问题请多多指教!!!

你可能感兴趣的:(Python脚本)