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中利用原始套接字进行网络编程的示例
May 04 Python
python判断图片宽度和高度后删除图片的方法
May 22 Python
PyChar学习教程之自定义文件与代码模板详解
Jul 17 Python
python多线程之事件Event的使用详解
Apr 27 Python
python中int与str互转方法
Jul 02 Python
python时间序列按频率生成日期的方法
May 14 Python
详解python pandas 分组统计的方法
Jul 30 Python
python实现布隆过滤器及原理解析
Dec 08 Python
浅谈Python里面None True False之间的区别
Jul 09 Python
利用Python实现斐波那契数列的方法实例
Jul 26 Python
python实现简单猜单词游戏
Dec 24 Python
Python图像处理之图像拼接
Apr 28 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
使用eAccelerator加密PHP程序
2008/10/03 PHP
精通php的十大要点(上)
2009/02/04 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
输入自动提示搜索提示功能的javascript:sugggestion.js
2013/09/02 Javascript
JQuery对表格进行操作的常用技巧总结
2014/04/23 Javascript
javascript实现图片自动和可控的轮播切换特效
2015/04/13 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
2015/08/26 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
2015/12/25 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
vue使用drag与drop实现拖拽的示例代码
2017/09/07 Javascript
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
浅谈目前可以使用ES10的5个新特性
2019/06/25 Javascript
JS随机密码生成算法
2019/09/23 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
Python numpy线性代数用法实例解析
2019/11/15 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
2020/03/06 Python
css3实现超立体3D图片侧翻倾斜效果
2014/04/16 HTML / CSS
CSS3 rgb and rgba(透明色)的使用详解
2020/09/25 HTML / CSS
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
关于Assembly命名空间的三个面试题
2015/07/23 面试题
网络方面基础面试题
2012/11/16 面试题
考试违纪检讨书
2014/02/02 职场文书
五好党支部事迹材料
2014/02/06 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
2015年助理工程师工作总结
2015/04/03 职场文书
2016年端午节寄语
2015/12/04 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书
python 中的jieba分词库
2021/11/23 Python
Java使用JMeter进行高并发测试
2021/11/23 Java/Android