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切换hosts文件代码示例
Dec 31 Python
python读写二进制文件的方法
May 09 Python
浅谈Python中的全局锁(GIL)问题
Jan 11 Python
对python条件表达式的四种实现方法小结
Jan 30 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
python rsync服务器之间文件夹同步脚本
Aug 29 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
在pycharm中创建django项目的示例代码
May 28 Python
keras实现VGG16方式(预测一张图片)
Jul 07 Python
最简单的matplotlib安装教程(小白)
Jul 28 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
Feb 22 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Oct 16 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
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
PHP中is_file()函数使用指南
2015/05/08 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
JQuery从头学起第三讲
2010/07/06 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
javascript文件加载管理简单实现方法
2015/07/25 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
原生JS实现九宫格抽奖效果
2017/04/01 Javascript
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
2017/10/17 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
2019/05/01 Javascript
Vue v-text指令简单使用方法示例
2019/09/19 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
详解Vue.js 可拖放文本框组件的使用
2021/03/03 Vue.js
[52:29]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第三局
2016/03/03 DOTA
[55:35]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第二场 1月22日
2021/03/11 DOTA
Python读写unicode文件的方法
2015/07/10 Python
详解在Python程序中解析并修改XML内容的方法
2015/11/16 Python
Python 实现简单的shell sed替换功能(实例讲解)
2017/09/29 Python
python实现两个文件夹的同步
2019/08/29 Python
Python 使用元类type创建类对象常见应用详解
2019/10/17 Python
Centos7 下安装最新的python3.8
2019/10/28 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
详解Python yaml模块
2020/09/23 Python
Super-Pharm波兰:药房和香水在一个地方
2020/08/18 全球购物
公司会计主管岗位责任制
2014/03/01 职场文书
医疗纠纷协议书
2014/04/16 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
简易离婚协议书范本
2014/10/24 职场文书
2015小学教育教学工作总结
2015/07/21 职场文书
python实现A*寻路算法
2021/06/13 Python
JS前端使用Canvas快速实现手势解锁特效
2022/09/23 Javascript