Python的高级文件 *** 作

Python的高级文件 *** 作,第1张

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文件,即可将其删除,否则将显示如图所示异常。

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

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()函数重命名目录时,只能修改最后一级的目录名称,否则将抛出如图所示异常:


四、获取文件基本信息

  在计算机上创建文件后,该文件本身就会包含一些信息。例如,文件的最后一次访问时间,最后一次修改时间、文件的大小等基本信息。通过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)

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/941859.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-17
下一篇 2022-05-17

发表评论

登录后才能评论

评论列表(0条)

保存