0
点赞
收藏
分享

微信扫一扫

Python的高级文件操作



Python的高级文件操作

  • ​​一、前言​​
  • ​​二、删除文件​​
  • ​​三、重命名文件和目录​​
  • ​​四、获取文件基本信息​​

一、前言

  Python内置的os模块除了可以目录进行操作,还可以对文件进行一些高级操作,具体操作如下表:

函数

说明

access(path,accessmode)

获取对文件是否有指定的访问权(读取/写入/执行权限)。accessmode的值是R_OK(读取)、W_OK(写入)或F_OK(存在)。如果有指定的权限,则返回1,否则返回0

chmod(path,mode)

修改path指定文件的访问权限

remove(path)

删除path指定的文件路径

rename(src,dst)

将文件或目录src重命名为dst

stat(path)

返回path指定文件的信息

startfile(path[,operation])

使用关联的应用程序打开path指定的文件

二、删除文件

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

os.remove(path)

  其中,path为要删除的文件路径,可以使用相对路径,也可以使用绝对路径。

  例如,要删除当前工作目录下的mrsoft.txt文件,可以使用下面代码:

import os
os.remove("mrsoft.txt")

  执行上面的代码后,如果在当前工作目录下存在mrsoft.txt文件,即可将其删除,否则将显示如图所示异常。

Python的高级文件操作_python

  为了解决以上异常,可以在删除文件时,先判断文件是否存在,只有存在时才能执行删除操作。具体代码如下:

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

  执行上面代码,如果mrsoft.txt不存在,则显示以下内容:

文件不存在!

  否则将显示以下内容,同时文件被删除:

文件删除完毕!

三、重命名文件和目录

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

os.rename(src,dst)

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

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

   例如,想要将“D:\Python\Code\01\helloworld.py”文件重名为“D:\Python\Code\01\mr.py”可以使用下面代码:

import os            # 导入os模块
src = "D:\\Python\\Code\\01\\helloworld.py" # 要重名命名的文件
dst = "D:\\Python\\Code\\01\\mr.py" # 重名命名后的文件
if os.path.exists(src): # 判断文件是否存在
os.rename(src,dst) # 重命名文件
print("文件重命名完毕!")
else:
print("文件不存在!")

  执行上面代码,如果“D:\Python\Code\01\helloworld.py”文件不存在,则显示以下内容:

文件不存在!

  否则将显示以下内容,同时文件被重命名:

文件重命名完毕!

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

import os            # 导入os模块
src = "Code" # 要重名命名的目录
dst = "test" # 重名命名后的目录
if os.path.exists(src): # 判断文件是否存在
os.rename(src,dst) # 重命名文件
print("文件重命名完毕!")
else:
print("文件不存在!")


注意: 在使用rename()函数重命名目录时,只能修改最后一级的目录名称,否则将抛出如图所示异常:Python的高级文件操作_开发语言_02


四、获取文件基本信息

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

os.stat(path)

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

  stat()函数的返回值是一个对象,该对象包含如下表的属性。通过访问这些属性可以获取文件的基本信息。

属性

说明

st_mode

保护模式

st_ino

索引号

st_nlink

硬件接号(被连接数目)

st_size

文件大小,单位为字节

st_mtime

最后一次修改时间

st_dev

设备名

st_uid

用户ID

st_gid

组ID

st_atime

最后一次访问的时间

st_ctime

最后一次状态的时间(系统不同返回结果也不同,例如,在Windows操作系统下返回的是文件的创建时间)

  例如,获取message.txt文件的路径、大小和最后一次修改的时间,代码如下:

import os

if os.path.exists("message.txt"):
fileinfo = os.stat("message.txt")
print("完整路径:", os.path.abspath("message.txt"))
print("文件大小:", fileinfo.st_size, "字节")
print("最后一次修改时间", fileinfo.st_mtime)

  执行上面代码,将显示如下结果:

Python的高级文件操作_python_03


举报

相关推荐

0 条评论