用python实现新建文件夹及移动、复制文件
一.移动文件时遇到的问题
目标:
根据文件名中的年份判断,将同一个文件夹下的所有文件分别移动到新建的相应年份的文件夹中。
1.提取文件名:
先用.划分,提取前面一部分,之后用_划分,提取第4部分,最后提取年月日中的年份。
!!![a:b]是提取从a到b-1之间的数,而不是a到b!!!
所以[0:4]是0-3之间的数!!!
2.判断年份,相等即创建文件夹:
!!!注意变量的数据类型!!!
3.新建文件夹:
一开始直接用os.mkdir(路径),并且想要加上新建的文件夹名,但是一直不对,后来先定义了路径(路径+’//’+str(文件名)),然后放到os.mkdir中,后发现循环中之前创建了就不能再创建相同的文件夹了,采用定义新建文件夹函数的方式(加上了判断文件夹是否存在):
之后在主体代码中调用这个函数即可实现根据文件名判断将所有文件分别移动到新建的各个符合条件的文件中!
二.复制文件时遇到的问题
目标:
将各个文件夹中的文件都复制到新建的一个文件夹中。
1.判断是否有目标文件夹,若没有则新建一个:
由于已经写过新建文件夹相关,这里就没什么问题了。
2.循环遍历各个文件夹下的文件,获取文件名并复制到新建的文件夹中:
一开始获取了文件名,但是忘记要循环一个个复制了;同时对shutil.copy用法不是很清楚,导致不知道用的是路径还是文件名,出现错误:Permission denied,搅和了好久,解决:
1)加上循环,把获取的文件名放到循环下面
2)shutil.copy(原文件夹路径+文件名,复制到的文件夹路径+文件名)
这样就能实现将多个文件夹下的文件都复制到一个新建的文件夹中!
附python对于shutil.copy的说明:
https://docs.python.org/3.6/library/shutil.html
参考:
移动文件:https://blog.csdn.net/seanblog/article/details/78885423
各种函数等:https://blog.csdn.net/sinat_38682860/article/details/93388503
创建文件夹、文件:https://www.jb51.net/article/201672.htm
相关文章
- 当我们在谈论 CPU 指令乱序的时候,究竟在谈论什么?
- Python字符串和json类型的相互转换实例演示,python字符串转json、json转字符串
- Python实训题目:学生成绩管理与分析系统
- Python数据结构与算法 实现八大经典排序算法
- Python数据结构与算法 列表和字典性能比较
- 利用Python批量将csv文件转化成xml文件
- from torch._C import *ImportError: DLL load failed 报错解决方法 亲测可用
- Python编程 深入浅出递归
- python-无聊的知识大闯关
- Python基础训练 建议学弟学妹们收藏
- 交流群里讨论热烈的题目 用Python轻松搞定它!
- 让模型训练速度提升两到四倍,「彩票假设」作者的这个全新PyTorch库火了
- Meta 深化对 Python 生态系统的投资
- Python这么火,程序员30岁转Python是否值得?
- Python人工智能 | 七.TensorFlow实现分类学习及MNIST手写体识别案例
- Python人工智能 | 八.什么是过拟合及dropout解决神经网络过拟合
- Python人工智能 | 九.卷积神经网络CNN原理详解及TensorFlow编写CNN
- Python人工智能 | 十.Tensorflow+Opencv实现CNN自定义图像分类案例及与KNN对比
- TIOBE 3月榜单:Python牢据榜首、Lua重返前20
- Python人工智能 | 十一.Tensorflow如何保存神经网络参数