93高级文件操作

Python内置的os模块除了可以对目录进行操作,还可以对文件进行一些高级操作,具体函数如表1所示。
在这里插入图片描述

1、删除文件

Python没有内置删除文件的函数,但是在内置的os模块中提供了删除文件的函数remove(),该函数的基本语法格式如下:

os.remove(path)

其中,path为要删除的文件路径,可以使用相对路径,也可以使用绝对路径。
例如,要删除当前工作目录下的soft.txt文件,可以使用下面的代码:

import os                      # 导入os模块
os.remove("soft.txt")       # 删除当前工作目录下的soft.txt文件

执行上面的代码后,如果在当前工作目录下存在soft.txt文件,即可将其删除,否则将显示如图1所示的异常。
在这里插入图片描述
为了屏蔽以上异常,可以在删除文件时,先判断文件是否存在,只有存在时才执行删除操作。具体代码如下:

import os                     # 导入os模块
path = "soft.txt"            # 要删除的文件
if os.path.exists(path):      # 判断文件是否存在
    os.remove(path)            # 删除文件
    print("文件删除完毕!")

执行上面的代码,如果soft.txt不存在,则显示以下内容:
文件不存在!
否则将显示以下内容,同时文件将被删除。
文件删除完毕!

2、重命名文件和目录

os模块提供了重命名文件和目录的函数rename(),如果指定的路径是文件的,则重命名文件,如果指定的路径是目录,则重命名目录。rename()函数的基本语法格式如下:

os.rename(src,dst)

其中,src用于指定要进行重命名的目录或文件;dst用于指定重命名后的目录或文件。

同删除文件一样,在进行文件或目录重命名时,如果指定的目录或文件不存在,也将抛出FileNotFoundError异常,所以在进行文件或目录重命名时,也建议先判断文件或目录是否存在,只有存在时才进行重命名操作。

想要将“C:\demo\test\dir\m\soft.txt”文件重命名为“C:\demo\test\dir\m\aibd.txt”,可以使用下面的代码:

import os                                     # 导入os模块
src = "C:\\demo\\test\\dir\\m\\soft.txt"    # 要重命名的文件
dst = "C:\\demo\\test\\dir\\m\\aibd.txt"      # 重命名后的文件
os.rename(src,dst)                           # 重命名文件
if os.path.exists(src):                   # 判断文件是否存在
    os.rename(src,dst)                      # 重命名文件
    print("文件重命名完毕!")
else:
    print("文件不存在!")

使用rename()函数重命名目录与命名文件基本相同,只要把原来的文件路径替换为目录即可。例如,想要将当前目录下的demo目录重命名为test,可以使用下面的代码:

import os                           # 导入os模块
src = "demo"                         # 重命名的当前目录下的demo
dst = "test"                        # 重命名为test
if os.path.exists(src):               # 判断目录是否存在
    os.rename(src,dst)                 # 重命名目录
    print("目录重命名完毕!")
else:
    print("目录不存在!")

注意:在使用rename()函数重命名目录时,只能修改最后一级的目录名称,否则将抛出如图2所示的异常。
在这里插入图片描述
在这里插入图片描述

3、获取文件基本信息

在计算机上创建文件后,该文件本身就会包含一些信息。例如,文件的最后一次访问时间、最后一次修改时间、文件大小等基本信息。通过os模块的stat()函数可以获取到文件的这些基本信息。stat()函数的基本语法如下:

os.stat(path)

其中,path为要获取文件基本信息的文件路径,可以是相对路径,也可以是绝对路径。

stat()函数的返回值是一个对象,该对象包含如表所示的属性。通过访问这些属性可以获取文件的基本信息。
在这里插入图片描述

import os                                            # 导入os模块
fileinfo = os.stat("mr.png")                        # 获取文件的基本信息
print("文件完整路径:", os.path.abspath("mr.png"))    # 获取文件的完整数路径
# 输出文件的基本信息
print("索引号:",fileinfo.st_ino)
print("设备名:",fileinfo.st_dev)
print("文件大小:",fileinfo.st_size," 字节")
print("最后一次访问时间:",fileinfo.st_atime)
print("最后一次修改时间:",fileinfo.st_mtime)
print("最后一次状态变化时间:",fileinfo.st_ctime)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值