当前位置: 首页 > news >正文

python 学习笔记(文件和目录操作)

  • 创建目录

    os.makedirs可以递归的创建目录结构。

    importos os.makedirs('tmp/python/test',exist_ok=True)#exit_ok = True指定了,如果某个要创建的目录已经存在,也不报错
  • 删除文件或目录

    os.remove可以删除一个文件

    os.remove('test.py')

    **shutil.rmtree()**可以递归的删除某个目录和该目录里面所有的子目录和子文件。

    importshutil shutil.rmtree('tmp',ignore_errors=True)#注意:参数ignore_errors值设置为True,表示忽略删除过程中的错误(比如要删除的目录不存在),不会抛出异常。
  • 拷贝文件

    shutil 模块里面有很多 目录文件操作的函数。

    拷贝文件,可以使用shuitl模块的copyfile函数。

    fromshutilimportcopyfile# 拷贝 d:/tools/first.py 到 e:/first.pycopyfile('d:/tools/first.py','e:/first.py')

    **注意:**如果拷贝前,e:/first.py已经存在,则会被拷贝覆盖,所以使用该函数一定要小心。

  • 拷贝目录

    如果我们要拷贝一个目录里面所有的内容(包括子目录和文件,子目录里面的子目录和文件,等等)到另外一个目录中,可以使用shutil的copytree函数。

    fromshutilimportcopytree copytree('D:/aaaa','e:/new/bbb')

    注意拷贝前,目标目录必须不存在,否则会报错。

  • 修改文件名,目录名

    要修改文件名,目录名,可以使用os模块的rname函数

    importos os.rename('d:/tools/aaa','d:/tools/bbb')

    **注意:**Linux系统上,如果重命名之前d:/tools/aaa已经存在,则会被覆盖,所以使用该函数一定要小心。

  • 判断文件,目录是否存在

    如果我们需要判断一个指定路径的文件或者目录是否存在,可以使用下面的方法。

    importos os.path.exists('d:/systems')

    exists方法返回值为True表示存在,否则表示不存在。

    如果要判断指定路径是否是文件,可以这样

    importos os.path.isfile('d:/systems')

    如果要判断指定路径是否是目录,可以这样

    importos os.path.isdir('d:/systems')
  • 当前工作目录

    我们的程序运行时,是有当前工作目录的。

    程序代码中所有的对文件的访问,如果使用相对路径,都是基于这个当前工作目录。

    需要得到程序的当前工作目录的路径,可以使用

    cwd=os.getcwd()

    需要改变当前工作目录到另外的路径,可以使用

    os.chdir(path)

    参数就是新的当前工作目录,路径地址。

  • 得到目录中指定扩展名的文件和子目录

    k可以使用glob库

    importglob exes=glob.glob(r'd:\tmp\*.txt')print(exes)

    后续待发,期待期待期待~

http://www.jsqmd.com/news/217612/

相关文章:

  • 三阶幻方了解-七年级上册
  • 【毕业设计】SpringBoot+Vue+MySQL Web足球青训俱乐部管理后台系统平台源码+数据库+论文+部署文档
  • SpringBoot+Vue 社区医院信息平台管理平台源码【适合毕设/课设/学习】Java+MySQL
  • 基于SpringBoot+Vue的学科竞赛管理管理系统设计与实现【Java+MySQL+MyBatis完整源码】
  • Java Web 师生健康信息管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
  • SpringBoot+Vue IT交流和分享平台管理平台源码【适合毕设/课设/学习】Java+MySQL
  • 2026-01-09 全国各地响应最快的 BT Tracker 服务器(联通版)
  • 脚本编译中怎么将/application/aima或/application/demo目录编译进去的
  • CMakeLists.txt
  • 国产AI真的很不行?四个维度告诉你真相
  • 二十三种设计模式(二十二)--策略模式
  • 二十三种设计模式(二十三)--责任链模式
  • 基于Java+SpringBoot+SSM云与糖蛋糕购物平台系统(源码+LW+调试文档+讲解等)/云与糖蛋糕平台/云与糖蛋糕系统/云与糖购物平台/云与糖购物系统/蛋糕购物平台系统/云与糖蛋糕商城
  • 从底层逻辑到工程实践,深入理解C语言在计算机世界中的核心地位与持久价值
  • C语言的性能优化实践全解析:从编译器自动优化机制到程序员手动调优思维与工程经验总结
  • 大数据时代时序数据库选型指南:为何Apache IoTDB成为物联网场景首
  • win10下安装mysql最简方案
  • 月薪35-50k*16薪,中国又一行业新兴岗位在崛起!这将是程序员未来5年最好的就业方向!
  • 二十一、pinctrl子系统
  • 【人工智能学习-AI-MIT公开课第 17.-学习:boosting 算法】
  • 解析HTML表格嵌套问题
  • 基于Java+SpringBoot+SSM博客系统(源码+LW+调试文档+讲解等)/博客平台/博客软件/个人博客系统/博客网站系统/博客管理系统
  • Java Web 社区医院信息平台系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
  • 【日语学习-日语知识点小记-日本語体系構造-JLPT-N2前期阶段-第一阶段(1):再次起航】
  • SpringBoot+Vue 师生健康信息管理系统管理平台源码【适合毕设/课设/学习】Java+MySQL
  • 实验一 安全威胁与攻击实验
  • 智慧停车解决方案
  • 【JavaSE】多线程之安全使用容器
  • Thinkphp的基于微服务教材征订系统(编号:
  • 基于SpringBoot+Vue的IT交流和分享平台管理系统设计与实现【Java+MySQL+MyBatis完整源码】