- A+
所属分类:Python学习
最近下载了一波大前端的视频教程,因视频分布到N多个文件夹中,查阅起来就比较麻烦,所以就在想如果这些视频文件全部能搞到一个目录下不是更好吗?
说干就干
必备条件
python3 环境
os 模块
shutil 模块
代码逻辑
- 通过访问指定文件夹
- 循环找出符合条件的文件名
- 移动文件至新的文件夹
代码实现
- import os
- import shutil
- # 旧地址、新地址、文件格式
- def filemove(oldfile, newfile, fileformat):
- # 列出文件下所有文件
- weblist = os.walk(oldfile)
- newpath = newfile
- for path, d, filelist in weblist:
- for filename in filelist:
- if fileformat in filename:
- full_path = os.path.join(path, filename) # 旧地址 + 文件名
- despath = newpath + filename # 新地址 +文件名
- print(shutil.move(full_path, despath), '文件移动成功') # 移动文件至新的文件夹
- else:
- print('文件不存在', filename)
- filemove('/Users/lijinlong/Desktop/大前端/WEB大前端课程/资深', '/Users/lijinlong/Desktop/大前端/WEB大前端课程/资深/', '.mp4')
代码升级
增加对两个目录的地址进行判断,后面又想着对文件名称进行判断,发现没什么意义,毕竟程序不是用在入侵上面。
- import os
- import shutil
- # 旧地址、新地址、文件格式
- def filemove(oldfile, newfile, fileformat):
- # 列出文件下所有文件
- weblist = os.walk(oldfile)
- # 对上述的两个目录地址进行判断,如不存在则返回不存在信息
- if os.path.exists(newfile) == True and os.path.exists(oldfile) == True:
- newpath = newfile
- for path, d, filelist in weblist:
- for filename in filelist:
- if fileformat in filename:
- full_path = os.path.join(path, filename) # 旧地址 + 文件名
- despath = newpath + filename # 新地址 +文件名
- print(shutil.move(full_path, despath), '文件移动成功') # 移动文件至新的文件夹
- else:
- print('文件不存在', filename)
- else:
- print("目录不存在")
- filemove('/Users/lijinlong/Desktop/大前端/WEB大前端课程/资深', '/Users/lijinlong/Desktop/大前端/WEB大前端课程/资深/', '.mp4')
最后给自己的乡村做个广告,瓦滩村(www.watancun.com)入选为江苏最美乡村,未来将于华西村肩并肩的乡村,然后这个网站是我做的,年底回家制作内容,互联网能搜索到的内容就这么多了。
2021年11月27日 下午12:20 沙发
感谢博主分享 python批量移动文件夹中的文件到新的文件夹,学习了