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 相关文章推荐
讲解Python中的标识运算符
May 14 Python
Python判断文件和文件夹是否存在的方法
May 21 Python
对于Python装饰器使用的一些建议
Jun 03 Python
Python从MP3文件获取id3的方法
Jun 15 Python
详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)
Aug 06 Python
Python爬虫运用正则表达式的方法和优缺点
Aug 25 Python
python深copy和浅copy区别对比解析
Dec 26 Python
Python callable内置函数原理解析
Mar 05 Python
基于python requests selenium爬取excel vba过程解析
Aug 12 Python
python 解决pycharm运行py文件只有unittest选项的问题
Sep 01 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
Nov 27 Python
Python中的 No Module named ***问题及解决
Jul 23 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 数组的指针操作实现代码
2011/02/08 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
浅析php工厂模式
2014/11/25 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
JavaScript 中的replace方法说明
2007/04/13 Javascript
Javascript this指针
2009/07/30 Javascript
Javascript常考语句107条收集
2010/03/09 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
nodejs 后缀名判断限制代码
2011/03/31 NodeJs
JS获取URL中的参数数据
2013/12/05 Javascript
jQuery检测返回值的数据类型
2015/07/13 Javascript
浅谈JS的基础类型与引用类型
2016/09/13 Javascript
在localStorage中存储对象数组并读取的方法
2016/09/24 Javascript
Angular2 自定义validators的实现方法
2017/07/05 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
JAVA面试题 static关键字详解
2019/07/16 Javascript
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
详解Nuxt内导航栏的两种实现方式
2020/04/16 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
[58:12]Ti4第二日主赛事败者组 LGD vs iG 3
2014/07/21 DOTA
如何运行Python程序的方法
2013/04/21 Python
python 利用文件锁单例执行脚本的方法
2019/02/19 Python
python反编译学习之字节码详解
2019/05/19 Python
numpy求平均值的维度设定的例子
2019/08/24 Python
pycharm通过anaconda安装pyqt5的教程
2020/03/24 Python
奥地利度假券的专家:we-are.travel
2019/04/10 全球购物
英国DVD和蓝光碟片购买网站:Zoom.co.uk(电影和电视)
2019/09/23 全球购物
家长会欢迎标语
2014/06/24 职场文书
债务纠纷起诉书
2015/05/20 职场文书
小学班级管理心得体会
2016/01/07 职场文书
2016年党员学习廉政准则心得体会
2016/01/20 职场文书
Python实现byte转integer
2021/06/03 Python
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js