python类库31[文件和目录os+os.path+shutil]


一 常用函数

os模块

os.sep 表示默认的文件路径分隔符,windows为\, linux为/
os.walk(spath): 用来遍历目录下的文件和子目录
os.listdir(dirname):列出dirname下的目录和文件
os.mkdir() : 创建目录
os.makedirs(): 创建目录,包含中间级目录
os.remove():删除文件,不能是目录
os.rmdir():删除空目录
os.removedirs(path):删除目录及其子目录
os.rename(src, dst) :修改文件名
os.renames(old, new) :修改文件或目录名,包含中间级

os.chdir("/tmp") : 更改当前目录
os.chmod( "c:\\test\\buildid.txt", stat.S_IWRITE ) : 去除文件的只读属性

os.path模块

os.path.pathsep 表示默认的路径间的分隔符,windows为; Linux为:
os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false
os.path.isfile(name):判断name是不是一个文件,不存在name也返回false
os.path.exists(name):判断是否存在文件或目录name
os.path.getsize(name):获得文件大小,如果name是目录返回0L
os.path.getctime(name):获得文件的创建时间

os.path.getmtime(name):获得文件的修改时间

os.path.getatime(name):获得文件的最后访问时间

 

os.path.isabs(name):测试是否是绝对路径
os.path.abspath(name):获得绝对路径
os.path.normpath(path):规范path字符串形式

os.path.relpath(path, start='.'):返回路径的相对版本

os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
os.path.splitext():分离文件名与扩展名
os.path.splitdrive():分离驱动名或unc名字
os.path.join(path,name):连接目录与文件名或目录

os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路径

os.path.expanduser("~"):用来获得user的home路径。


shutil模块
shutil.copyfile(src, dst): 拷贝文件
shutil.copytree(srcDir, dstDir) : 拷贝目录

 

shutil.rmtree('dir') : 删除非空文件夹

shutil.move('old','new') :修改文件和目录名称

 

glob模块

匹配文件:glob.glob(r”c:\linuxany\*.py”)
 

二 实例 (os.walk的遍历过程如下)



import os

# tree c:\test /f
#
C:\TEST
#
│  test.log
#

#
├─test2
#
│      test2.log
#

#
└─test3

tree 
= os.walk('C:/test')
for directoryItem in tree:
    directory
=directoryItem[0]
    subDirectories
=directoryItem[1]
    filesInDirectory
=directoryItem[2]    
    
print('-----------------')
    
print('the directory is :', directory)
    
print('the sub directories are : ', subDirectories)
    
print('the files are :', filesInDirectory)

#-----------------
#
the directory is : C:/test
#
the sub directories are :  ['test2', 'test3']
#
the files are : ['test.log']
#
-----------------
#
the directory is : C:/test\test2
#
the sub directories are :  []
#
the files are : ['test2.log']
#
-----------------
#
the directory is : C:/test\test3
#
the sub directories are :  []
#
the files are : []


完!

 

转载于:https://www.cnblogs.com/itech/archive/2009/12/16/1625636.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/276265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上一轮中奖信息公布

大家好,我是若川,抽奖活动其实挺耗时耗力的,尤其是留言和在看抽奖。比如我这篇文章写完就已经23:50了。特别想说的是:有126人点击了在看,但我的好友展示只有93人在看。说明还有30多人点击了在看,但忘记加我…

css判断不同分辨率显示不同宽度布局实现自适应宽度

转载链接:http://www.jb51.net/css/151312.html 点评:CSS判断不同分辨率浏览器(显示屏幕)显示不同宽度布局CSS3技术支持IE6到IE8。将用到css3 media样式进行判断,但IE9以下版本不支持CSS3技术,这里DIVCSS5给…

安卓相机 高帧率_Android MediaCodec和摄像头:如何实现更高的帧速率从相机获取帧原始数据?...

摄像机API有两个不同的参数用于控制帧速率:setPreviewFrameRate,它采用单帧速率值并且不推荐使用,setPreviewFpsRange采用一系列FPS值,是当前推荐的控制.单FPS设置控制不充分的原因是,有时您希望相机在黑暗条件下降低帧速率以使取景器保持明亮(静态相机取景器就是这…

开发、测试与QA的区别以及其他

觉得这个比喻比较新颖,觉得蛮有意思的,故转自过来。 最近部门中有同事在问这个问题,我想应该还是有满多人对这三个角色的定位还不是很清楚,因此就这三个角色谈谈我个人的认识。 网络上关于这三种角色的定义已经够多,在…

CentOS7Jenkins安装

2019独角兽企业重金招聘Python工程师标准>>> CentOS7Jenkins安装 2017年05月07日 20:20:32 申明霜 阅读数:13945 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sms15732621690/article/details/713…

2020 全球 JS 现状调查报告

大家好,我是若川。偷偷告诉你,今天推文的第二条是在我的公众号回复「网盘」免费领取百度网盘会员,欢迎大家分享转发。给大家分享一篇好文,往期类似好文:2020 前端技术发展回顾2020年大前端技术趋势解读以下是正文&…

ie兼容响应式布局的实现总结 和 针对ie浏览器的CSS

参考链接:http://zhidao.baidu.com/link?urlbQioDKMnG_eQoE6dCxzd2hPtMyiB7phu6hBdOupn1Pjk1hV-ItXFZS5GDUBoH5qrfi9LXkUoSciXTiGN36G6LK 参考链接:http://blog.sina.com.cn/s/blog_601b97ee0101aszo.html ie浏览器hack .demo {padding:10px;padding:9…

group by 保留哪一条数据_使用R语言绘制一维数据统计图总结

加载数据 绘制茎叶图 绘制直方图 绘制概率密度曲线 绘制小提琴图 绘制箱线图 绘制小提琴图箱线图 集中趋势统计 分散程度 apply的使用加载数据模拟数据下载library(tidyverse) cjb <- read.csv("/home/wy/Downloads/cjb.csv",header TRUE,stringsAsFactors FALS…

npm安装和Vue运行

一、开始&#xff1a; 下载地址&#xff1a;http://nodejs.cn/download/ 下载安装&#xff1a; 直到 二、打开CMD,检查是否正常 在安装目录里新增两个文件夹 然后运行命令&#xff1a;如下图&#xff1a; npm config set prefix "D:\InstallSoftWare\nodejs\node_global&q…

Scott 32 岁前端年终总结,探寻另一种可能

今年一年都是飞快 这 10 年编程好时光&#xff0c;花费在不经意间&#xff0c;而立的第三年也即将用完&#xff1a;23 到 26 岁&#xff0c;花在了阿里&#xff0c;从入门到职业迷茫&#xff0c;27 到 29 岁&#xff0c;花在了创业&#xff0c;从热血到倒闭还钱&#xff0c;30 …

跨页数据传递的两种方式

选择具有PostBackUrl属性的三个控件Button、LinkButton、ImageButton。PostBackUrl属性的值就是投递的页面URL。 要在接收页面按对象的方式接收投递页面的表单中的值有两种方式&#xff1a; 1、PreviousPage.FindControl(“控件变量名”)&#xff0c;这个方法返回的是Control类…

linux批量杀进程_Linux下批量杀JAVA进程

在工作中经常需要停止JAVA进程&#xff0c;停止时间也比较长&#xff0c;那么有时候因为一些情况&#xff0c;需要把 linux 下JAVA所有进程kill 掉&#xff0c;又不能用killall 直接杀掉某一进程名称包含的所有运行中进程(我们可能只需要杀掉其中的某一类或运行指定参数命令的进…

用jquery1.9版本判断ie浏览器及ie6浏览器

参考链接&#xff1a;http://www.my0832.com/158182/blog-117887.html jQuery 从 1.9 版开始&#xff0c;移除了 $.browser 和 $.browser.version &#xff0c; 取而代之的是 $.support 。 在更新的 2.0 版本中&#xff0c;将不再支持 IE 6/7/8。 以后&#xff0c;如果用户需要…

嵌入式操作系统 NuttX 5.0 发布

Nuttx 是一个实时嵌入式操作系统&#xff08;RTOS&#xff09;&#xff0c;它有一个小巧是在微控制器的环境中使用。这是完全可扩展&#xff0c;从小型&#xff08;8位&#xff09;至中型嵌入式&#xff08;32位&#xff09;系统。它的目的还 在于要完全符合标准&#xff0c;完…

Windows下Mysql 的安装和卸载

2019独角兽企业重金招聘Python工程师标准>>> 一、安装 1、下载zip文件 2、解压&#xff0c;在bin目录下新建my.ini [mysql] # 设置mysql客户端默认字符集 default-character-setutf8 [mysqld] # 设置3306端口 port3306 # 设置mysql的安装目录 basedirC:\Program Fil…

现在学前端还来得及吗?总听人说饱和了

“前端已经饱和了&#xff0c;现在学前端没有前途了”每次听到这种论调我都气不打一处来。自己技艺不精&#xff0c;然后就说市场饱和了。是&#xff0c;现在的确不是那个会切个图&#xff0c;懂点htmlCSS就能找到工作的年代了。现在对前端的技术要求稍微高了点&#xff0c;但这…

jquery网页刷新后控件失效_jquery动态增减控件如何才能不刷新页面

已结贴√问题点数&#xff1a;20 回复次数&#xff1a;9jquery动态增减控件如何才能不刷新页面用jquery动态管理控件&#xff0c;可是每一次增减控件都会刷新页面&#xff0c;然后控件里面原来输入的值就都不在了&#xff0c;可以怎么来实现在动态增减控件时不刷新页面呢&#…

HTML代码 网页设置 QQ空间等分享

转载链接&#xff1a;http://zhidao.baidu.com/link?urlgpehGR7eSSyilECgVIOuZnDycBUjKABR2VubZAUSRD89qQrNhlCBxHuIUq9mQmvGaQy2RUSw1gAx614JlroXFK 右边&#xff1a; <!-- Baidu Button BEGIN --> <script type"text/javascript" id"bdshare_js&qu…

固定资产减值准备与累计折旧会计核算的关系

转载http://hi.baidu.com/ddumy/blog/item/d96b361901776e7ddab4bdd6.html固定资产减值准备与累计折旧会计核算的关系【摘 要】 固定资产减值准备与累计折旧是固定资产核算的重要组成部分&#xff0c;又都是“固定资产”的备抵项目&#xff0c;它们共同反映着固定资产的现时价值…

DotNetNuke 5 C#版本解读之2--HTTP Modules

在前面文章里说明了DNN的架构&#xff0c;下面这个图应该说是更加能够全面的让你去了解它的结构&#xff1a; 如果你是个asp.net新手建议你看看前面这部分&#xff0c;因为它会向你介绍什么是http module,以及其他的一些概念。我想通过你读这篇文章来明白asp.net的机制&#xf…