微信公众号:码农充电站pro

个人主页:https://codeshellme.github.io

做技术一定要一颗恒心,这样才不会半途而废。

目录

上一节我们介绍了文件相关的操作,本节我们来介绍目录相关的操作。

1,os 模块

os 模块是Python 中的内建模块,该模块中包含许多系统相关的操作。我们要介绍的目录相关的操作,也都包含在该模块中。

我们可以使用dir(os) 来查看该模块中所有属性和函数,共有几百个属性和函数。这里我们只介绍一部分函数,可以使用help(os.函数名) 来查看某个函数的帮助手册。

  • os.linesep:获取当前系统的行的换行符
  • os.getcwd():获取当前工作目录。
  • os.listdir(path=None):列出path 路径中的所有文件目录pathNone 时,表示当前目录。
  • 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 目录操作的更多相关文章

  1. Python 简明教程 --- 26,Python 多进程编程

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 学编程最有效的方法是动手敲代码. 目录 1,什么是多进程 我们所写的Python 代码就是一个程序, ...

  2. Python 简明教程 --- 8,Python 字符串函数

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 好代码本身就是最好的文档.当你需要添加一个注释时,你应该考虑如何修改代码才能不需要注释. -- St ...

  3. python简明教程

    Python简明教程 MachinePlay关注 0.7072018.09.26 01:49:43字数 2,805阅读 9,287 Python一小时快速入门 1.Python简介   pylogo. ...

  4. Python 简明教程 --- 13,Python 集合

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果代码和注释不一致,那很可能两者都错了. -- Norm Schryer 目录 前几节我们已经介绍 ...

  5. Python 简明教程 --- 14,Python 数据结构进阶

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果你发现特殊情况太多,那很可能是用错算法了. -- Carig Zerouni 目录 前几节我们介 ...

  6. Python 简明教程 --- 15,Python 函数

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 测试只能证明程序有错误,而不能证明程序没有错误. -- Edsger Dijkstra 目录 本节我 ...

  7. Python 简明教程 --- 16,Python 高阶函数

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 对于那些快速算法,我们总是可以拿一些速度差不多但是更容易理解的算法来替代它们. -- Douglas ...

  8. Python 简明教程 --- 9,Python 编码

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 当你选择了一种语言,意味着你还选择了一组技术.一个社区. -- Joshua Bloch 目录 1, ...

  9. Python 简明教程 --- 11,Python 元组

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 软件工程的目标是控制复杂度,而不是增加复杂性. -- Dr. Pamela Zave 目录 我们在上 ...

随机推荐

  1. 30_栈的定义.swf

    上面的局部变量 i int*p中的p指针变量,是在栈中分配的,malloc申请的内存是在堆中分配的,动态申请的都在堆中分配的. 栈是一种数据存储的结果,先进后出的数据结构.

  2. SSH网上商城四

    第29课:10-SSH网上商城:购物模块的实体的封装 1.现在我们要实现购物车的模块,当用户在点击 加入购物车按钮的时候需要跳转到 上面我们需要对购物车的对象进行封装 上面一个商品就对应一个记录项,购 ...

  3. LQR要点

    新的“A”变成着了这样:Ac = A - KB 基于对象:状态空间形式的系统 能量函数J:也称之为目标函数 Q:半正定矩阵,对角阵(允许对角元素出现0) R:正定矩阵,QR其实就是权重 下面这段话可能 ...

  4. git和github入门指南(2.1)

    2.git常用命令 2.1.git的三个区 1.工作区 工作区就是你项目所在目录,这个目录是可以非常直观的看到的,编写代码主要在这个目录进行,例如: 2.暂存区 暂存区从字面上去理解就是用来暂时保存项 ...

  5. win7旗舰版安装 oracle 10g 不能进入图形界面的问题

    前阵子重装了系统,把dell机器自带的win7 64位(家庭版已升级旗舰版,装ORACLE正常)换回了32位系统,前两天因为一些软件开发的问题,需要把以前做的一个系统重新架起来,数据库用的是oracl ...

  6. apache frpClien操作报错解决

    #打开配置文件vim /etc/vsftpd/vsftpd.conf #修改配置100行chroot_local_user=NO

  7. 使用Tensorflow对模型进行量化

    本文旨在将迁移学习训练好的模型基于tensorflow工具进行量化. 环境配置及迁移学习部分可参考博文[https://www.cnblogs.com/hayley111/p/12887853.htm ...

  8. CF819B Mister B and PR Shifts 思维题

    分析 这道题\(n\leq10^{6}\),显然\(n^{2}\)的暴力是无法解决问题的 那么我们可以考虑数列的某一种性质 因为最终的答案是\(\sum{n \atop i=1} |p_i - i|\ ...

  9. POJ1017贪心

    题意:小P开了一家淘宝店铺,店铺里所有的商品高度都为h,但长和宽分别为1*1,2*2,3*3,4*4,5*5,6*6六种规格.这一天来了一个大客户,他订购了很多物品.所以小P需要将东西都邮寄给他,但是 ...

  10. Python-日期格式化

    1.基本方法 获取当前日期:time.time() 获取元组形式的时间戳:time.local(time.time()) 格式化日期的函数(基于元组的形式进行格式化): (1)time.asctime ...