Crossin的编程教室 2020-06-01
以下文章来源于天作之程 ,作者GitPython
这几天和几个小伙伴,在一起做一个ppt。做ppt之前有原版的ppt,和一个word大纲,在制作过程中,又不断添加图片、视频等素材,最终,整个目录变得杂乱不堪(见下图-处理之前)
那我想,可不可以做一个脚本实现文件按照扩展名自动分类呢?
这样,就可以相对轻松的找到文件了。
效果展示
使用方法很简单,只要把python脚本文件,放到待处理的文件夹目录下,运行python文件即可。
预备知识
这个脚本实现比较简单,我把涉及的知识点列了出来。
1)相对路径、绝对路径
绝对路径就是最完整的路径。
'D:/code/gitpython.py'
相对路径的相对指的就是相对于当前文件夹路径,就是你编写的这个py文件所放的文件夹路径。
'gitpython.py' 或者 './gitpython.py'
2)os模块和shutil模块
os.listdir(path)path--需要列出的目录路径
import os
# 打开文件
path = "./"
dirs = os.listdir(path)
# 输出所有文件和文件夹
for file in dirs:
print file
# 运行结果:
1.docx
1.jpg
1.pptx
移动文件(目录)shutil.move("oldpos","newpos")
源码展示
import os
import shutil
path = "./" # py文件所在的文件夹下
file = os.listdir(path) # 列出当前文件夹的所有文件
# 循环遍历每个文件
for f in file:
# print(f)
# 以扩展名为名称的子文件夹
folder_name = path + f.split(".")[-1]
# 如果不存在该目录,先创建,再移动文件
if not os.path.exists(folder_name):
os.makedirs(folder_name)
# 举例:这里的f为 1.png 等同于 ./1.png (因为是相对路径)
shutil.move(f, folder_name)
# 直接移动文件
else:
shutil.move(f, folder_name)
作者:GitPython
来源:天作之程