用Python提取文件夹下的特定扩展名的文件
用Python提取文件夹下的特定扩展名的文件
不知道什么时候,网闲着没用,挂了个linux的视屏教程,里面有很多个文件夹,有很多无关的文件。这对于像我没收藏垃圾文件癖好的人来说,简直是不能忍的。所以当时就打算自己手动一个一个提取出来,归到了某个文件夹。无奈文件实在太多了,实在没那份闲情,一个一个去提取。所以就打算写个VC的小程序,当时寒假在家里,对着那一大堆的windows API,还是一堆English的函数描述,顿时把我兴趣给打没了。确实是自己比较懒,静不下心来专研。
这几天,在学习Boost库,发现里面有个为python写的字库,顿时燃起我学期Python的欲望,主要是想看看把这两门语言结合起来用会有什么优势。谷歌了一下,都说python核心编程还不错,但翻译的质量不怎么行。记得以前在某个大牛的博客上看到过,翻译质量不好的,宁可不看,去看原版书。所以我便傻乎乎的跑去amazon网站上面,找了一门五星级的书,<<Beginning Python Using Python 2.6 and Python 3.1 - James W. Payne>>,打印出来,开始了我的Python之旅。
幸好以前MSDN看多了,英语还算勉强过得去,再加上Google强大的翻译在,怕啥啊。一口气把基本语法看完了,觉得很奇怪,怎么语法才200页不到啊,200页不到也能把基本类型,函数,异常,类,OOP,都讲完。这跟我以前看C++差距也太大了吧。C++那语法,真是能把你折磨死啊。后来又找同学借了本python核心编程,发现那边的语法讲的详细多了。
所以这几天转战那本书。
说了那么多,还是回归主题吧。这个程序其实很简单,不用正则表达式(确实是个好东西,Boost使C++也支持regular expressions 了,呵呵,只是我还没开始学习)的话,也很容易。不罗嗦了,看程序吧
view plaincopy to clipboardprint?
01."""
02. This module is to copy file with the specific extension from one directory
03. to the specific directory
04."""
05.
06.import os
07.import shutil
08.
09.def file_extension(fromPath,extension,toPath):
10. if os.path.isdir(fromPath):
11. fileAll = os.listdir(fromPath)
12. for each in fileAll:
13. absolutePath = os.path.join(fromPath,each)
14. if os.path.isdir(absolutePath):
15. file_extension(absolutePath,extension,toPath)
16. else:
17. if absolutePath.endswith(extension):
18. print absolutePath
19. shutil.copy(absolutePath,toPath)
20. else:
21. print "please input correct path!!!"
"""
This module is to copy file with the specific extension from one directory
to the specific directory
"""
import os
import shutil
def file_extension(fromPath,extension,toPath):
if os.path.isdir(fromPath):
fileAll = os.listdir(fromPath)
for each in fileAll:
absolutePath = os.path.join(fromPath,each)
if os.path.isdir(absolutePath):
file_extension(absolutePath,extension,toPath)
else:
if absolutePath.endswith(extension):
print absolutePath
shutil.copy(absolutePath,toPath)
else:
print "please input correct path!!!"
不用我注释了吧,相当简单。
才开始学习python,这个代码写的一定很丑,以后再回来改吧。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ruanmengkai/archive/2010/05/06/5564243.aspx
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理