浅谈Python中os模块及shutil模块的常规操作


Posted in Python onApril 03, 2020

如下所示:

#os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 '.' 和'..' 即使它在文件夹中。

#只支持在 Unix, Windows 下使用
import os, sys

# 打开文件
path=r'C:\Users\Administrator.SKY-20180518VHY\Desktop\rx\ore'
dirs = os.listdir( path )
print(dirs)
# 输出所有文件和文件夹
for file in dirs:
 print (file)

1.os.path.abspath(path)

返回path规范化的绝对路径。

>>> os.path.abspath('1.docx') 
C:\Users\Administrator.SKY-20180518VHY\Desktop\t\1.docx
 
>>> os.path.abspath('../csv\\test.csv') 
'C:\\csv\\test.csv'

2.os.path.split(path)

将path分割成目录和文件名二元组返回。

l=os.path.split(r'C:\Users\Administrator.SKY-20180518VHY\Desktop\t\1.docx') 
print(l)
('C:\\Users\\Administrator.SKY-20180518VHY\\Desktop\\t', '1.docx')

3.os.path.dirname(path)

返回path的目录。其实就是os.path.split(path)的第一个元素。

os.path.dirname('c:\\csv\test.csv') 
'c:\\' 
os.path.dirname('c:\\csv') 
'c:\\'

4.os.path.basename(path)

返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素。

os.path.basename('c:\\test.csv') 
'test.csv' 
os.path.basename('c:\\csv') 
'csv' (这里csv被当作文件名处理了) 
os.path.basename('c:\\csv\\') 
''

5.os.path.commonprefix(list)

返回list中,所有path共有的最长的路径。

如:

>>> os.path.commonprefix(['/home/td','/home/td/ff','/home/td/fff'])
'/home/td'

6.os.path.exists(path)

如果path存在,返回True;如果path不存在,返回False。

>>> os.path.exists('c:\\') 
True 
>>> os.path.exists('c:\\csv\\test.csv') 
False

7.os.path.isabs(path)

如果path是绝对路径,返回True。

8.os.path.isfile(path)

如果path是一个存在的文件,返回True。否则返回False。

>>> os.path.isfile('c:\\boot.ini') 
True 
>>> os.path.isfile('c:\\csv\\test.csv') 
False 
>>> os.path.isfile('c:\\csv\\') 
False

9.os.path.isdir(path)

如果path是一个存在的目录,则返回True。否则返回False。

>>> os.path.isdir('c:\\') 
True 
>>> os.path.isdir('c:\\csv\\') 
False 
>>> os.path.isdir('c:\\windows\\test.csv') 
False

10.os.path.join(path1[, path2[, …]])

将多个路径组合后返回,第一个绝对路径之前的参数将被忽略。

>>> os.path.join('c:', 'csv', 'test.csv') 
'c:\\csv\\test.csv' 
>>> os.path.join('windows\temp', 'c:\\', 'csv', 'test.csv') 
'c:\\csv\\test.csv' 
>>> os.path.join('/home/aa','/home/aa/bb','/home/aa/bb/c') 
'/home/aa/bb/c'

11.os.path.normcase(path)

在Linux和Mac平台上,该函数会原样返回path,在windows平台上会将路径中所有字符转换为小写,并将所有斜杠转换为饭斜杠。

>>> os.path.normcase('c:/windows\\system32\\')
'c:\\windows\\system32\\'

12.os.path.normpath(path)

规范化路径。

>>> os.path.normpath('c://windows\\System32\\../Temp/')
'c:\\windows\\Temp'

13.os.path.splitdrive(path)

返回(drivername,fpath)元组

>>> os.path.splitdrive('c:\\windows')
('c:', '\\windows')

14.os.path.splitext(path)

分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作

>>> os.path.splitext('c:\\csv\\test.csv')
('c:\\csv\\test', '.csv')

15.os.path.getsize(path)

返回path的文件的大小(字节)。

>>> os.path.getsize('c:\\boot.ini')
299L

16.os.path.getatime(path)

返回path所指向的文件或者目录的最后存取时间。

17.os.path.getmtime(path)

返回path所指向的文件或者目录的最后修改时间

18.os.mkdir(path)

其参数path 为要创建目录的路径。

import os
os.mkdir('d:\hello')

19.可以使用os.makedirs()函数创建多级目录。

其原型如下所示:

os.makedirs(path)

其参数path 为要创建目录的路径。

import os
os.makedirs('d:\\books\\book')

20.删除目录

在Python中可以使用os.rmdir()函数删除目录。

其原型如下所示:

os.rmdir(path)

其参数path 为要删除的目录的路径。

例如把D盘下的hmm的目录删除

import os
os.rmdir('d:\hmm')

21.删除多级目录

Python中可以使用os.removedirs()函数删除多级目录。

其原型如下所示:

os.removdirs(path)

其参数path 为要删除的多级目录的路径

import os
os.removedirs('d:\\books\\book')

#注意:要删除的目录必须是空目录,,

22.删除文件

在Python中可以使用os.remove()函数删除文件(注意一定是一个文件)。

其原型如下所示:

os.remov(path)

其参数path 为要删除的文件的路径。

如删除D盘下books目录下book目录中的book.txt的文件

import os
os.remove('d:\\books\\book\\book.txt')

23.遍历目录

在Python中可以使用os.walk()函数遍历目录。

其原型如下所示:

os.walk(path)

其参数path 为要遍历的目录,遍历path,返回一个对象,他的每个部分都是一个三元组 ('目录x',[目录x下的目录list],目录x下面的文件) 。

如:

>>> a=os.walk('d:\\books')
>>> def fun():
  for i in a:
   print i
>>> fun()
('d:\\books', ['book'], ['aa.txt'])
('d:\\books\\book', [ ], [ ])

24.判断是否为目录

在Python中可以使用os.path.isdir()函数判断某一路径是否为目录。

其函数原型如下所示:

os.path.isdir(path)

其参数 path为 要进行判断的路径。如果是则返回TRUE,否则返回FALSE。

判断是否为文件

在Python中可以使用os.path.isfile()函数判断某一路径是否为文件。其函数原型如下所示。

os.path.isfile(path)

其参数path为要进行判断的路径。如果是则返回TRUE,否则返回FALSE。

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中os模块及shutil模块的常规操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python、Javascript中的闭包比较
Feb 04 Python
python tensorflow学习之识别单张图片的实现的示例
Feb 09 Python
unittest+coverage单元测试代码覆盖操作实例详解
Apr 04 Python
PyQT实现多窗口切换
Apr 20 Python
python根据url地址下载小文件的实例
Dec 18 Python
python字典嵌套字典的情况下找到某个key的value详解
Jul 10 Python
浅谈python3中input输入的使用
Aug 02 Python
Python 导入文件过程图解
Oct 15 Python
Python如何使用BeautifulSoup爬取网页信息
Nov 26 Python
Python通过Tesseract库实现文字识别
Mar 05 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
Jan 27 Python
Python获取指定日期是"星期几"的6种方法
Mar 13 Python
Python实现多线程下载脚本的示例代码
Apr 03 #Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
Apr 03 #Python
pycharm安装及如何导入numpy
Apr 03 #Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
Apr 03 #Python
Python利用PyPDF2库获取PDF文件总页码实例
Apr 03 #Python
Numpy 理解ndarray对象的示例代码
Apr 03 #Python
python计算Content-MD5并获取文件的Content-MD5值方式
Apr 03 #Python
You might like
利用phpexcel把excel导入数据库和数据库导出excel实现
2014/01/09 PHP
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
PHP实现简单的新闻发布系统实例
2015/07/28 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
基于jquery的给文章加入关键字链接
2010/10/26 Javascript
jQuery 图片切换插件(代码比较少)
2012/05/07 Javascript
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
jquery foreach使用示例
2013/09/12 Javascript
PageSwitch插件实现100种不同图片切换效果
2015/07/28 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
清除js缓存的多种方法总结
2016/12/09 Javascript
js实现无缝滚动图
2017/02/22 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
AngularJS service之select下拉菜单效果
2017/07/28 Javascript
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
详解Ubuntu安装angular-cli遇到的坑
2018/09/08 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
[04:39]显微镜下的DOTA2第十三期—Pis卡尔个人秀
2014/04/04 DOTA
Python中使用strip()方法删除字符串中空格的教程
2015/05/20 Python
Python中list列表的一些进阶使用方法介绍
2015/08/15 Python
python抓取京东小米8手机配置信息
2018/11/13 Python
python机器人运动范围问题的解答
2019/04/29 Python
Python学习笔记之函数的定义和作用域实例详解
2019/08/13 Python
纯CSS实现菜单、导航栏的3D翻转动画效果
2014/04/23 HTML / CSS
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
土耳其玩具商店:Toyzz Shop
2019/08/02 全球购物
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
银行实习生自我鉴定范文
2013/09/19 职场文书
公司行政专员岗位职责
2014/08/24 职场文书
2015新学期家长寄语
2015/02/26 职场文书
终止解除劳动合同证明书
2015/06/17 职场文书
公司庆典主持词
2015/07/04 职场文书
财务管理制度范本
2015/08/04 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书
一篇文章弄懂Python关键字、标识符和变量
2021/07/15 Python