文件操作
作者:@houkai
本文为作者原创,转载请注明出处:https://www.cnblogs.com/houkai/p/4948333.html
有关文件夹与文件的查找,删除等功能在 os 模块中实现。使用时需先导入这个模块。
1、取得当前目录
s = os.getcwd()
2、更改当前目录
os.chdir( "C:\\123")
3、将一个路径名分解为目录名和文件名两部分
fpath , fname = os.path.split( "你要分解的路径")
a, b = os.path.split( "c:\\123\\456\\test.txt" ) print a#c:\123\456 print b#
a, b = os.path.splitext( "c:\\123\\456\\test.txt" ) print a#c:\123\456\test print b#.txt
5、判断一个路径( 目录或文件)是否存在
b = os.path.exists( "你要判断的路径")
b = os.path.isfile( "你要判断的路径")
b = os.path.isdir( "你要判断的路径")
L = os.listdir( "c:/" )
9、创建子目录
os.makedirs( path )
调用有可能失败,可能的原因是:path已存在时(不管是文件还是文件夹)等。
10、删除子目录
os.rmdir( path )
产生异常的可能原因: path子目录中有文件或下级子目录等。
11、删除文件
os.remove( filename )
参考:http://www.jb51.net/article/50070.htm
另外,Python实现递归遍历指定的文件目录,找到所有与指定文件/目录同名称的文件的绝对路径。
def scandir(startdir, target) : os.chdir(startdir) for obj in os.listdir(os.curdir) : if obj == target : print os.getcwd() + os.sep + obj if os.path.isdir(obj) : scandir(obj, target) os.chdir(os.pardir) #!!!
注意:递归调用后,一定不能忘了os.chdir(os.pardir),返回上层目录(即父目录)。
也可以通过下面方式实现:
rootdir = os.getcwd() for (dirpath, dirnames, filenames) in os.walk(rootdir): for dirname in dirnames: print('dirname = ' + dirname) for filename in filenames: print(os.path.join(dirpath, filename)) if(filename=='target'):#搜索目标 #os.chdir(dirpath) #do something
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架