阿里云盘使用固态缓存,避免文件碎片
背景
在使用阿里云盘下载大量文件时候,如果使用机械硬盘,产生了大量碎片,简直是个灾难,因此想到了用固态缓存,然后再迁移到机械硬盘的方案
废话少说,上代码!
import os
import shutil
import time
def check(rootdir):
files_list = []
result = {}
for root,dirs,files in os.walk(rootdir):
for file in files:
files_list.append(os.path.join(root,file))
flag = 1
for file in files_list:
if file.endswith(".part"):
result[file] = '未完成'
flag = 0
else:
result[file] = '完成'
return flag,files_list
def start(old_dir):
flag,files_list = check(old_dir)
print('老的目录\n', old_dir)
# print('文件列表\n',files_list)
if flag == 1 and files_list != [] :
new_dir = old_dir.replace("E:", "F:")
print('新的目录\n', new_dir)
print('移动中')
shutil.move(old_dir, new_dir)
print('移动完成')
elif flag == 1 and files_list == []:
print('文件夹不存在')
elif flag == 0:
print('文件夹尚未下载完成')
if __name__ == '__main__':
i = 1
###修改此处列表为你的下载目录
old_dir_list = [r'E:\2021年热播电影(208部)\1(1)',r'E:\2021年热播电影(208部)\1.5',
r'E:\2021年热播电影(208部)\2',r'E:\2021年热播电影(208部)\3',r'E:\2021年热播电影(208部)\4']
while True:
print('=======================================================================')
print('执行第' + str(i) + '次')
for old_dir in old_dir_list:
start(old_dir)
print('---------------')
time.sleep(10)
i += 1
代码解释
修改43行old_dir_list列表里为你的目录即可
代码输出
C:\Users\admin\AppData\Local\Programs\Python\Python38\python.exe D:/project/checkfile/new.py
=======================================================================
执行第1次
老的目录
E:\2021年热播电影(208部)\1(1)
文件夹尚未下载完成
---------------
老的目录
E:\2021年热播电影(208部)\1.5
文件夹不存在
---------------
老的目录
E:\2021年热播电影(208部)\2
文件夹尚未下载完成
---------------
老的目录
E:\2021年热播电影(208部)\3
文件夹不存在
---------------
老的目录
E:\2021年热播电影(208部)\4
文件夹不存在
---------------
=======================================================================
执行第2次
老的目录
E:\2021年热播电影(208部)\1(1)
文件夹尚未下载完成
---------------
老的目录
E:\2021年热播电影(208部)\1.5
文件夹不存在
---------------
老的目录
E:\2021年热播电影(208部)\2
文件夹尚未下载完成
---------------
老的目录
E:\2021年热播电影(208部)\3
文件夹不存在
---------------
老的目录
E:\2021年热播电影(208部)\4
文件夹不存在
---------------
<!--此处省略大量重复的输出结果-->
=======================================================================
执行第38次
老的目录
E:\2021年热播电影(208部)\1(1)
文件夹尚未下载完成
---------------
老的目录
E:\2021年热播电影(208部)\1.5
文件夹不存在
---------------
老的目录
E:\2021年热播电影(208部)\2
文件夹尚未下载完成
---------------
老的目录
E:\2021年热播电影(208部)\3
文件夹不存在
---------------
老的目录
E:\2021年热播电影(208部)\4
文件夹不存在
---------------
=======================================================================
执行第39次
老的目录
E:\2021年热播电影(208部)\1(1)
新的目录
F:\2021年热播电影(208部)\1(1)
移动中