Python 简明教程 --- 25,Python 目录操作
微信公众号:码农充电站pro
个人主页:https://codeshellme.github.io
做技术一定要一颗恒心,这样才不会半途而废。
目录

上一节我们介绍了文件相关的操作,本节我们来介绍目录相关的操作。
1,os 模块
os 模块是Python 中的内建模块,该模块中包含许多系统相关的操作。我们要介绍的目录相关的操作,也都包含在该模块中。
我们可以使用dir(os) 来查看该模块中所有属性和函数,共有几百个属性和函数。这里我们只介绍一部分函数,可以使用help(os.函数名) 来查看某个函数的帮助手册。
os.linesep:获取当前系统的行的换行符。os.getcwd():获取当前工作目录。os.listdir(path=None):列出path路径中的所有文件和目录。path为None时,表示当前目录。os.path.abspath(path):获取path的绝对路径。os.path.isfile(path):判断path是否是一个文件。os.path.isdir(path):如果path存在且为目录,则返回True,否则返回False。os.path.isabs(path):判断path是否是一个绝对路径。os.path.exists(path):判断path是否存在。os.path.split(file):返回file的路径名与文件名,返回值是一个元组。os.path.splitext(file):返回file的路径与扩展名,返回值是一个元组。os.path.dirname(path):返回path的目录 。os.path.basename(path):返回path的文件名。os.rename(old, new): 将文件或目录old重命名为new。os.mkdir(dir):创建目录,dir只能是单级目录。os.makedirs(dir):创建目录,dir可以是单级目录,也可以是多级目录 。os.rmdir(dir):删除目录,dir只能是空目录,否则抛出异常。os.remove(path):删除文件,如果出现错误将抛出异常。os.removedirs(path):删除目录,且该目录中不能有其它文件或目录,也就是该目录必须为空,否则将出现异常。os.stat(path):获取文件或目录的状态信息,比如创建时间,大小等。其返回值为os.stat_result类型。os.path.getsize(file):返回file的大小 。os.chmod(file):修改file的访问权限。os.chdir(path):从当前目录切换到目录path。
2,shutil 模块
shutil 模块主要是用来操作文件和目录的。
我们可以使用help(shutil) 查看该模块的帮助文档,使用dir(shutil) 查看其支持的所有类,属性和方法。
>>> dir(shutil)
['Error', 'ExecError', 'ReadError',
'RegistryError', 'SameFileError',
'SpecialFileError', '_ARCHIVE_FORMATS',
'_BZ2_SUPPORTED', '_LZMA_SUPPORTED',
'_UNPACK_FORMATS', '_ZLIB_SUPPORTED',
'__all__', '__builtins__', '__cached__',
'__doc__', '__file__', '__loader__',
'__name__', '__package__', '__spec__',
'_basename', '_check_unpack_options',
'_copyxattr', '_destinsrc',
'_ensure_directory', '_find_unpack_format',
'_get_gid', '_get_uid', '_make_tarball',
'_make_zipfile', '_ntuple_diskusage',
'_rmtree_safe_fd', '_rmtree_unsafe',
'_samefile', '_unpack_tarfile',
'_unpack_zipfile', '_use_fd_functions',
'chown', 'collections', 'copy', 'copy2',
'copyfile', 'copyfileobj', 'copymode',
'copystat', 'copytree', 'disk_usage',
'errno', 'fnmatch', 'get_archive_formats',
'get_terminal_size', 'get_unpack_formats',
'getgrnam', 'getpwnam', 'ignore_patterns',
'make_archive', 'move', 'os',
'register_archive_format',
'register_unpack_format',
'rmtree', 'stat', 'sys', 'unpack_archive',
'unregister_archive_format',
'unregister_unpack_format', 'which']
这里是该模块的官方文档,本节中我们只介绍少数几个操作,其它函数的用法,可参考其官方文档。
shutil.copyfile(oldfile, newfile):将文件oldfile复制一份到newfile。shutil.copy(oldfile, new):将文件oldfile复制一份到new,返回新的文件名。new可以是文件,也可以是目录。shutil.copytree(olddir, newdir):将整个目录olddir,递归拷贝到newdir。shutil.move(src, dst):将src移动到dst。shutil.rmtree(dir):删除整个目录树dir。
(完。)
推荐阅读:
Python 简明教程 --- 20,Python 类中的属性与方法
Python 简明教程 --- 21,Python 继承与多态
Python 简明教程 --- 22,Python 闭包与装饰器
Python 简明教程 --- 23,Python 异常处理
Python 简明教程 --- 24,Python 文件读写
欢迎关注作者公众号,获取更多技术干货。

Python 简明教程 --- 25,Python 目录操作的更多相关文章
- Python 简明教程 --- 26,Python 多进程编程
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 学编程最有效的方法是动手敲代码. 目录 1,什么是多进程 我们所写的Python 代码就是一个程序, ...
- Python 简明教程 --- 8,Python 字符串函数
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 好代码本身就是最好的文档.当你需要添加一个注释时,你应该考虑如何修改代码才能不需要注释. -- St ...
- python简明教程
Python简明教程 MachinePlay关注 0.7072018.09.26 01:49:43字数 2,805阅读 9,287 Python一小时快速入门 1.Python简介 pylogo. ...
- Python 简明教程 --- 13,Python 集合
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果代码和注释不一致,那很可能两者都错了. -- Norm Schryer 目录 前几节我们已经介绍 ...
- Python 简明教程 --- 14,Python 数据结构进阶
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果你发现特殊情况太多,那很可能是用错算法了. -- Carig Zerouni 目录 前几节我们介 ...
- Python 简明教程 --- 15,Python 函数
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 测试只能证明程序有错误,而不能证明程序没有错误. -- Edsger Dijkstra 目录 本节我 ...
- Python 简明教程 --- 16,Python 高阶函数
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 对于那些快速算法,我们总是可以拿一些速度差不多但是更容易理解的算法来替代它们. -- Douglas ...
- Python 简明教程 --- 9,Python 编码
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 当你选择了一种语言,意味着你还选择了一组技术.一个社区. -- Joshua Bloch 目录 1, ...
- Python 简明教程 --- 11,Python 元组
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 软件工程的目标是控制复杂度,而不是增加复杂性. -- Dr. Pamela Zave 目录 我们在上 ...
随机推荐
- 入门大数据---Flume 简介及基本使用
一.Flume简介 Apache Flume 是一个分布式,高可用的数据收集系统.它可以从不同的数据源收集数据,经过聚合后发送到存储系统中,通常用于日志数据的收集.Flume 分为 NG 和 OG ( ...
- Python之浅谈深浅拷贝
目录 深浅拷贝 拷贝 浅拷贝 深拷贝 深浅拷贝 拷贝 s=['tim','age'] s2=s #这里的s2列表指向与s相同的id 当s2为s的拷贝对象时,s内的可变类型变化,s2变化;s内的不可变类 ...
- Taro 3 正式版发布:开放式跨端跨框架解决方案
作者:凹凸曼 - yuche 从 Taro 第一个版本发布到现在,Taro 已经接受了来自于开源社区两年多的考验.今天我们很高兴地在党的生日发布 Taro 3(Taro Next)正式版,希望 Tar ...
- Tomcat Filter之动态注入
前言 最近,看到好多不错的关于"无文件Webshell"的文章,对其中利用上下文动态的注入Filter的技术做了一下简单验证,写一下测试总结,不依赖任何框架,仅想学习一下tomca ...
- js修改函数内部的this指向(bind,call,apply)
js修改函数内部的this指向 在调用函数的时候偶尔在函数内部会使用到this,在使用this的时候发现并不是我们想要指向的对象.可以通过bind,call,apply来修改函数内部的this指向. ...
- 6.26模拟赛(1)总结(T1:信息传递;T2:传染病控制;T3:排列;T4:最大数)
16:33:56 2020-06-26 当然可以先看一下成绩: 非常显然的成绩不能算有多好,当然其实这也可能是假期水课的报应 (额) 但是比我集训前想象的要好一点(集训时想象的是排名前30就可以,嗯 ...
- Linux系统中虚拟设备文件的各种实用用法
大家好,我是良许. 大家知道,在 Linux 下,一切皆文件,对于设备文件也是如此.我们在工作的过程中,经常会看到 /dev/null 这个玩意,那它到底是什么呢? 专业地讲,/dev/null 是一 ...
- 深入浅出了解CDN
背景: 本文公众号来源:漫话编程 虎牙直播2000W+人在线观看,直播间还不卡,据了解,2018年1月,阿里云为虎牙提供了边缘节点服务(ENS).基于阿里云ENS,可以轻松地将业务模块放到边缘运行,在 ...
- 央行数字货币(CBDCs)的互操作性至关重要
CBDCs(央行数字货币)将在我们的有生之年产生重大的金融转变.然而,除非这些工具吸取了法定货币的教训,否则创新将毫无意义.互操作性一直是影响CBDC采用和功能的最重要障碍之一.因此,各国央行在这一理 ...
- 【Python篇】工厂模式
工厂方法模式 前言 在<设计模式>一书中工厂模式提到了: 工厂方法模式(Factory Method) 抽象工厂模式 (Abstract Factory) 但是在实际过程中还有一种工厂模式 ...