news 2026/5/28 10:13:53

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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)

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/27 19:11:19

实验一 安全威胁与攻击实验

一、实验目的安全威胁与攻击实验与理论教学第一章信息安全概论相对应。本实验在学生完成MAC地址欺骗攻击与防御实验、OSPF路由项欺骗攻击和防御实验的基础上,使学生能够理解威胁、攻击、资产的关系,并理解基本安全设计原则的重要性。具体如下&#xff1a…

作者头像 李华
网站建设 2026/5/27 19:11:33

二十一、pinctrl子系统

前言 前面我们写的GPIO驱动程序都是自己在驱动里面定义好gpio引脚需要用到的寄存器,然后在驱动程序里面直接去配置这些寄存器。Linux是一个成熟的,跨平台的通用操作系统,对于配置引脚这样的最基本的功能,是已经有一套现成的框架可…

作者头像 李华
网站建设 2026/5/27 19:11:11

Java Web 社区医院信息平台系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

摘要 随着信息技术的快速发展,传统社区医院的管理模式已难以满足现代医疗服务的需求。社区医院在日常运营中涉及患者信息管理、医生排班、药品库存、预约挂号等多方面业务,传统的手工记录或单机系统存在效率低下、数据易丢失、信息共享困难等问题。为了提…

作者头像 李华
网站建设 2026/5/27 19:11:33

基于SpringBoot+Vue的IT交流和分享平台管理系统设计与实现【Java+MySQL+MyBatis完整源码】

摘要 随着互联网技术的快速发展,IT技术交流与知识分享的需求日益增长。传统的技术论坛和社交媒体平台虽然提供了基础的交流功能,但在专业性、系统性和用户体验方面仍有较大提升空间。尤其是在技术问答、资源共享和项目管理等方面,缺乏高效的整…

作者头像 李华
网站建设 2026/5/23 6:35:54

Java SpringBoot+Vue3+MyBatis 师生健康信息管理系统系统源码|前后端分离+MySQL数据库

摘要 随着信息化技术的快速发展,校园健康管理逐渐成为教育领域的重要课题。传统的师生健康信息管理多依赖纸质记录或分散的电子表格,存在数据易丢失、更新不及时、统计效率低下等问题。尤其是在新冠疫情期间,健康信息的实时监控和高效管理显得…

作者头像 李华
网站建设 2026/5/20 9:27:34

前后端分离“衣依”服装销售平台系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程

摘要 随着电子商务的快速发展,服装销售行业对高效、灵活的管理系统需求日益增长。传统的单机版或前后端耦合的系统架构已难以满足现代企业对快速迭代、高并发访问及跨平台兼容性的需求。服装销售平台需要具备商品管理、订单处理、用户交互等功能,同时还需…

作者头像 李华