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文件信息获取与目录操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot自动配置实现的详细步骤

    SpringBoot自动配置实现的详细步骤

    这篇文章主要为大家介绍了SpringBoot自动配置实现详细的过程步骤,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Spring Boot整合EasyExcel(完整版包含上传解析excel和下载模板)

    Spring Boot整合EasyExcel(完整版包含上传解析excel和下载模板)

    这篇文章主要介绍了Spring Boot整合EasyExcel(完整版包含上传解析excel和下载模板),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • MyBatis图文并茂讲解注解开发多对多查询

    MyBatis图文并茂讲解注解开发多对多查询

    这篇文章主要介绍了SpringBoot中Mybatis注解多对多查询的实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Spring MVC前后端的数据传输的实现方法

    Spring MVC前后端的数据传输的实现方法

    这篇文章主要介绍了Spring MVC前后端的数据传输的实现方法,需要的朋友可以参考下
    2017-10-10
  • Spring底层核心源码原理解析

    Spring底层核心源码原理解析

    这篇文章主要介绍了Spring底层核心源码原理解析,当在某个方法上加了@Transactional注解后,就表示该方法在调用时会开启Spring事务,而这个方法所在的类所对应的Bean对象会是该类的代理对象,需要的朋友可以参考下
    2023-09-09
  • Java内部类的使用教程详解

    Java内部类的使用教程详解

    在Java中,有些类可以被定义在另一个类的内部,我们把在一个类里面定义的类称为内部类。本文主要介绍了Java内部类的使用,需要的可以参考一下
    2023-04-04
  • java工具类StringUtils使用实例详解

    java工具类StringUtils使用实例详解

    这篇文章主要为大家介绍了java工具类StringUtils使用实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • spring security认证异常后返回中文提示的问题

    spring security认证异常后返回中文提示的问题

    这篇文章主要介绍了spring security认证异常后返回中文提示的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • 详解Java常用工具类—泛型

    详解Java常用工具类—泛型

    这篇文章主要介绍了Java常用工具类—泛型,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • java返回前端实体类json数据时忽略某个属性方法

    java返回前端实体类json数据时忽略某个属性方法

    这篇文章主要给大家介绍了关于java返回前端实体类json数据时忽略某个属性的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2023-08-08

最新评论