Python中os和shutil模块实用方法集锦


Posted in Python onMay 13, 2014
# os 模块os.sep 可以取代操作系统特定的路径分隔符。windows下为 '\\'
os.name 字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是 'posix'
os.getcwd() 函数得到当前工作目录,即当前Python脚本工作的目录路径
os.getenv() 获取一个环境变量,如果没有返回none
os.putenv(key, value) 设置一个环境变量值
os.listdir(path) 返回指定目录下的所有文件和目录名
os.remove(path) 函数用来删除一个文件
os.system(command) 函数用来运行shell命令
os.linesep 字符串给出当前平台使用的行终止符。例如,Windows使用 '\r\n',Linux使用 '\n' 而Mac使用 '\r'
os.path.split(path)  函数返回一个路径的目录名和文件名
os.path.isfile() 和os.path.isdir()函数分别检验给出的路径是一个文件还是目录
os.path.exists() 函数用来检验给出的路径是否真地存在
os.curdir  返回当前目录 ('.')
os.mkdir(path) 创建一个目录
os.makedirs(path) 递归的创建目录
os.chdir(dirname) 改变工作目录到dirname    
os.path.getsize(name) 获得文件大小,如果name是目录返回0L
os.path.abspath(name) 获得绝对路径
os.path.normpath(path) 规范path字符串形式
os.path.splitext()  分离文件名与扩展名
os.path.join(path,name) 连接目录与文件名或目录
os.path.basename(path) 返回文件名
os.path.dirname(path) 返回文件路径
os.walk(top,topdown=True,onerror=None)  遍历迭代目录
os.rename(src, dst)  重命名file或者directory src到dst 如果dst是一个存在的directory, 将抛出OSError. 在Unix, 如果dst在存且是一个file, 如果用户有权限的话,它将被安静的替换. 操作将会失败在某些Unix 中如果src和dst在不同的文件系统中. 如果成功, 这命名操作将会是一个原子操作 (这是POSIX 需要). 在 Windows上, 如果dst已经存在, 将抛出OSError,即使它是一个文件. 在unix,Windows中有效。
os.renames(old, new) 递归重命名文件夹或者文件。像rename()
# shutil 模块
shutil.copyfile( src, dst) 从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为IOException. 如果当前的dst已存在的话就会被覆盖掉
shutil.move( src, dst)  移动文件或重命名
shutil.copymode( src, dst) 只是会复制其权限其他的东西是不会被复制的
shutil.copystat( src, dst) 复制权限、最后访问时间、最后修改时间
shutil.copy( src, dst)  复制一个文件到一个文件或一个目录
shutil.copy2( src, dst)  在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp ?p的东西
shutil.copy2( src, dst)  如果两个位置的文件系统是一样的话相当于是rename操作,只是改名;如果是不在相同的文件系统的话就是做move操作
shutil.copytree( olddir, newdir, True/Flase)
把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接
shutil.rmtree( src ) 递归删除一个目录以及目录内的所有内容
Python 相关文章推荐
Python Property属性的2种用法
Jun 21 Python
python安装与使用redis的方法
Apr 19 Python
python自动翻译实现方法
May 28 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 Python
Python中常见的异常总结
Feb 20 Python
pygame游戏之旅 添加icon和bgm音效的方法
Nov 21 Python
python适合人工智能的理由和优势
Jun 28 Python
为什么从Python 3.6开始字典有序并效率更高
Jul 15 Python
python pandas 时间日期的处理实现
Jul 30 Python
django框架两个使用模板实例
Dec 11 Python
Python如何安装第三方模块
May 28 Python
Django-imagekit的使用详解
Jul 06 Python
Python中的jquery PyQuery库使用小结
May 13 #Python
Python getopt模块处理命令行选项实例
May 13 #Python
Python random模块(获取随机数)常用方法和使用例子
May 13 #Python
Python自动化测试工具Splinter简介和使用实例
May 13 #Python
Python获取远程文件大小的函数代码分享
May 13 #Python
Python FTP操作类代码分享
May 13 #Python
python生成指定尺寸缩略图的示例
May 07 #Python
You might like
从零开始 教你如何搭建Discuz!4.1论坛
2006/07/07 PHP
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
php 生成随机验证码图片代码
2010/02/08 PHP
php中获取指定IP的物理地址的代码(正则表达式)
2011/06/23 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
二级域名转向类
2006/11/09 Javascript
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
小米公司JavaScript面试题
2014/12/29 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
原生js编写2048小游戏
2017/03/17 Javascript
vue-router单页面路由
2017/06/17 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
Vue中render方法的使用详解
2018/01/26 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
2018/11/29 Javascript
vue模块拖拽实现示例代码
2019/03/09 Javascript
详解微信小程序自定义组件的实现及数据交互
2019/07/22 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
[26:24]完美副总裁、DOTA2负责人蔡玮专访:电竞如人生
2014/09/11 DOTA
Python列表append和+的区别浅析
2015/02/02 Python
微信跳一跳python自动代码解读1.0
2018/01/12 Python
python保存数据到本地文件的方法
2018/06/23 Python
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
PyCharm-错误-找不到指定文件python.exe的解决方法
2019/07/01 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
Python正则re模块使用步骤及原理解析
2020/08/18 Python
祖国在我心中演讲稿600字
2014/05/04 职场文书
护校行动方案
2014/05/31 职场文书
大学生个人年度总结范文
2015/02/15 职场文书
使用golang编写一个并发工作队列
2021/05/08 Golang
Python一行代码实现自动发邮件功能
2021/05/30 Python