Python文件高级操作函数之文件信息获取与目录操作

 更新时间:2023年05月22日 09:31:16   作者:小邑走天下  
这篇文章主要介绍了Python文件高级操作函数之文件信息获取与目录操作,在Python中,内置了文件(File)对象。在使用文件对象时,首先需要通过内置的open()方法创建一个文件对象,然后通过该对象提供的方法进行一些基本文件操作,需要的朋友可以参考下

python内置文件高级操作函数

在这里插入图片描述

删除文件

Python 没有内置删除文件的函数,但是在内置的 os 模块中提供了删除文件的 remove()函数,语法格式如下: os.remove(path) 其中,path 为要删除的文件路径,可以使用相对路径,也可以使用绝对路径。

重命名文件和目录

os 模块提供了重命名文件和目录的函数 rename(),如果指定的路径是文件,则重命名文件;如果指定的路径是目录,则重命名目录。语法格式如下: os.rename(src,dst ) 其中,src 用于指定重命名的目录或文件,dst 用于指定重命名后的目录或文件。

获取文件基本信息

在计算机上创建文件后,该文件本身会包含一些信息。例如,文件的最后一次访问时间、最后一次修改时间以及文件大小等基本信息。通过 os 模块的 stat()函数可以获取到文件的这些基本信息,语法格式如下: os.stat(path) 其中,path 为要获取文件基本信息的文件路径,可以是相对路径,也可以是绝对路径。 函数的返回值是一个对象,该对象包含如表所示的属性。通过访问这些属性可以获取文件的基本信息。

在这里插入图片描述

删除目录

删除空目录

可以使用 os 模块提供的 rmdir()函数实现。 通过rmdir() 函数删除目录时,只有当要删除的目录为空时才起作用。语法格式如下: os.rmdir(path) 其中,path为要删除的目录,可以使用相对路径,也可以使用绝对路径,不存在会报错,先判断是否存在再删除

删除非空目录

则需要使用 Pthon 内置的标准模块shutil的rmtree()函数实现。

import shutil
shutil.rmtree("C:\\demo\\test")

遍历目录

os 模块的 wak() 函数用于实现遍历

os.walk(top[,topdown][, onerror][,followlinks])
  • top: 用于指定要遍历内容的根目录。
  • topdown: 可选参数,用于指定遍历的顺序,
    • 如果值为 True,表示自上而下遍历 (即先遍历根目录);
    • 如果值为 False,表示自下而上遍历 (即先遍历最后一级子目录)。
    • 默认值为 True。
  • onerror: 可选参数,用于指定错误处理方式,默认为忽略,如果不想忽略也可以指定一个错误处理函数。通常情况下采用默认。
  • followlinks:可选参数,默认情况下,不会向下转换成解析到目录的符号链接,将该参数值设置为 True,用于指定在支持的系统上访问由符号链接指向的目录。
  • 返回值:返回一个包括3个元素(dirpath,dimames,filenames)的元组生成器对象。其中,dirpath表示当前遍历的路径,是一个字符串; dimames 表示当前路径下包含的子目录,是一个列表;
  • filenames表示当前路径下包含的文件,也是一个列表。
#遍历当前目录下的文件和目录
import os
for root, dirs, files in os.walk("."):
    print(dirs)
    print(files)

到此这篇关于Python文件高级操作函数之文件信息获取与目录操作的文章就介绍到这了,更多相关Python文件信息获取与目录操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Flowable执行完毕的流程查找方法

    Flowable执行完毕的流程查找方法

    这篇文章主要为大家介绍了Flowable执行完毕的流程查找方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 浅谈java中OO的概念和设计原则(必看)

    浅谈java中OO的概念和设计原则(必看)

    下面小编就为大家带来一篇浅谈java中OO的概念和设计原则(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Windows系统下Eclipse搭建ESP32编译环境及安装过程

    Windows系统下Eclipse搭建ESP32编译环境及安装过程

    Ecppse 使用了 ESP-IDF 中的 Makefile 支持。这意味着您需要从创建 ESP-IDF 项目开始。您可以使用 github 中的 idf-template 项目,接下来通过本文给大家介绍Windows系统下Eclipse搭建ESP32编译环境及安装过程,感兴趣的朋友一起看看吧
    2021-10-10
  • java输入多个数据(不确定),排序,并求最大值的方法

    java输入多个数据(不确定),排序,并求最大值的方法

    今天小编就为大家分享一篇java输入多个数据(不确定),排序,并求最大值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Springboot整合企业微信机器人助手推送消息的实现

    Springboot整合企业微信机器人助手推送消息的实现

    本文主要介绍了Springboot整合企业微信机器人助手推送消息的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 使用java生成字母验证码

    使用java生成字母验证码

    这篇文章主要介绍了使用java生成字母验证码的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Java线性结构中栈、队列和串的基本概念和特点详解

    Java线性结构中栈、队列和串的基本概念和特点详解

    前几天小编给大家介绍了Java线性结构中的链表,除了链表这种结构之外,实际上还有栈、队列、串等结构,那么这些结构又有哪些特点呢,本文就给大家详细的介绍一下,感兴趣的小伙伴跟着小编一起来看看吧
    2023-07-07
  • Java中UUID生成原理及优缺点

    Java中UUID生成原理及优缺点

    本文将详细讲解UUID的生成原理、特性、实用场景以及优缺点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • SpringBoot读取外部配置文件的方法

    SpringBoot读取外部配置文件的方法

    这篇文章主要介绍了SpringBoot读取外部配置文件的方法,以端口配置为例,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • SpringCloud微服务开发基于RocketMQ实现分布式事务管理详解

    SpringCloud微服务开发基于RocketMQ实现分布式事务管理详解

    分布式事务是在微服务开发中经常会遇到的一个问题,之前的文章中我们已经实现了利用Seata来实现强一致性事务,其实还有一种广为人知的方案就是利用消息队列来实现分布式事务,保证数据的最终一致性,也就是我们常说的柔性事务
    2022-09-09

最新评论