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图片验证码生成代码
Jul 02 Python
Python脚本实时处理log文件的方法
Nov 21 Python
Python面向对象编程之继承与多态详解
Jan 16 Python
VSCode下好用的Python插件及配置
Apr 06 Python
Python饼状图的绘制实例
Jan 15 Python
使用python实现滑动验证码功能
Aug 05 Python
python nmap实现端口扫描器教程
May 28 Python
Python Pillow.Image 图像保存和参数选择方式
Jan 09 Python
深入理解Tensorflow中的masking和padding
Feb 24 Python
学习python需要有编程基础吗
Jun 02 Python
python使用nibabel和sitk读取保存nii.gz文件实例
Jul 01 Python
Python爬虫教程知识点总结
Oct 19 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
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
2012/05/16 PHP
PHP实现递归无限级分类
2015/10/22 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
thinkphp修改配置进入默认首页的方法
2017/02/07 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
jQuery与ExtJS之选择实例分析
2010/08/19 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
一个炫酷的Bootstrap导航菜单
2016/12/28 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
2017/01/24 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
Javascript实现时间倒计时功能
2018/11/17 Javascript
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
jquery实现两个div中的元素相互拖动的方法分析
2020/04/05 jQuery
Element Dropdown下拉菜单的使用方法
2020/07/26 Javascript
[49:20]2014 DOTA2国际邀请赛中国区预选赛5.21 CIS VS TongFu
2014/05/22 DOTA
Anaconda 离线安装 python 包的操作方法
2018/06/11 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
python切片的步进、添加、连接简单操作示例
2019/07/11 Python
pygame实现烟雨蒙蒙下彩虹雨
2019/11/11 Python
Django关于admin的使用技巧和知识点
2020/02/10 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
定义一结构体数组表示分数,并求两个分数相加之和
2013/06/11 面试题
档案接收函范文
2014/01/10 职场文书
《风筝》教学反思
2014/04/10 职场文书
小班上学期评语
2014/05/05 职场文书
法定代表人授权委托书
2014/09/19 职场文书
交通事故一次性赔偿协议书范本
2014/11/02 职场文书
会议开幕词
2015/01/28 职场文书
玄武湖导游词
2015/02/05 职场文书
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技