python中os模块详解


Posted in Python onOctober 14, 2016

os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录……

os.sep可以取代操作系统特定的路径分隔符。windows下为 “\\”,Linux下为"/"

os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。

os.pathsep 输出用于分割文件路径的字符串,系统使用此字符来分割搜索路径(像PATH),例如POSIX上':',Windows上的';'

os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径

os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd

os.curdir 返回当前目录: ('.')

os.pardir 获取当前目录的父目录字符串名:('..')

os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname

os.makedirs('dirname1/dirname2') 可生成多层递归目录

os.remove(file) 删除一个文件

os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname

os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

os.rename("oldname","newname") 重命名文件/目录,如果newname存在则替换出现错误

os.replace(src,dest) 重命名文件/目录,如果dest表示的是文件,存在则覆盖原来的文件,不报错;若是目录,存在则会报错

os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)

Ex:os.chmod('C:\\my_share_file\\test.sh',755)

os.stat('path/filename') 获取文件/目录信息

os.utime(path,times) 修改时间属性 times是个元组,(atime,mtime),这两个时间数可以通过os.stat获取

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

1.top表示需要遍历的目录树的路径

2.topdown的默认值是”True”,表示首先返回目录树下的文件,然后在遍历目录树的子目录.Topdown的值为”False”时,

则表示先遍历目录树的子目录,返回子目录下的文件,最后返回根目录下的文件

3.onerror的默认值是”None”,表示忽略文件遍历时产生的错误.如果不为空,则提供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历

该函数返回一个元组,该元组有3个元素,这3个元素分别表示当前遍历的目录,当前遍历的目录列表,当前遍历的目录的文件列表

os.walk()举例:

>>> import os

>>> for root, dirs, files in os.walk("wd/chat", topdown=False):

... for name in files:

... print(os.path.join(root, name)) #打印文件绝对路径

... for name in dirs:

... print(os.path.join(root, name)) #打印目录绝对路径

os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。

os.getenv()获取一个环境变量,如果没有返回none

os.putenv(key, value)设置一个环境变量值

os.environ[]获取环境变量的值 两者等价:os.environ[‘HOME'] <->os.getenv(‘HOME')

os.system(command)函数用来运行shell命令。

os.popen("bash command") 运行shell命令,生成对象,可赋给变量,再用read读取

Python 相关文章推荐
基于pandas将类别属性转化为数值属性的方法
Jul 25 Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 Python
python 顺时针打印矩阵的超简洁代码
Nov 14 Python
利用anaconda保证64位和32位的python共存
Mar 09 Python
python关于矩阵重复赋值覆盖问题的解决方法
Jul 19 Python
关于PyTorch 自动求导机制详解
Aug 18 Python
python实现操作文件(文件夹)
Oct 31 Python
python爬虫模拟浏览器的两种方法实例分析
Dec 09 Python
动态设置django的model field的默认值操作步骤
Mar 30 Python
没编程基础可以学python吗
Jun 17 Python
Python requests库参数提交的注意事项总结
Mar 29 Python
Python破解极验滑动验证码详细步骤
May 21 Python
python append、extend与insert的区别
Oct 13 #Python
CentOS6.5设置Django开发环境
Oct 13 #Python
Python判断某个用户对某个文件的权限
Oct 13 #Python
python使用str &amp; repr转换字符串
Oct 13 #Python
PYTHON 中使用 GLOBAL引发的一系列问题
Oct 12 #Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
Oct 12 #Python
shelve  用来持久化任意的Python对象实例代码
Oct 12 #Python
You might like
用Php实现链结人气统计
2006/10/09 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
2016/03/16 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
javascript 设置某DIV区域内的checkbox复选框
2009/11/30 Javascript
js中array的sort()方法使用介绍
2014/02/20 Javascript
js表格排序实例分析(支持int,float,date,string四种数据类型)
2015/05/06 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
js基本算法:冒泡排序,二分查找的简单实例
2016/10/08 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
jQuery实现淡入淡出的模态框
2017/02/09 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
Vue调用后端java接口的实例代码
2019/10/28 Javascript
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
python统计中文字符数量的两种方法
2019/01/31 Python
python返回数组的索引实例
2019/11/28 Python
python获取引用对象的个数方式
2019/12/20 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
计算机专业职业规划
2014/02/28 职场文书
技校毕业生自荐信范文
2014/03/07 职场文书
合作意向书模板
2014/03/31 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
2014年机关党委工作总结
2014/12/11 职场文书
迎新生欢迎词
2015/01/23 职场文书
高中生综合素质自我评价
2015/03/06 职场文书
试了下Golang实现try catch的方法
2021/07/01 Golang
JavaScript严格模式不支持八进制的问题讲解
2021/11/07 Javascript