栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python标准模块--os模块

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python标准模块--os模块

目录
  • os模块
    • 通用变量
      • 案例1:使用os.path拼凑路径[^3]名称
    • 操作目录函数
    • 遍历目录
      • 案例2:遍历一个目录
    • 高级文件操作
      • 操作函数
      • 获取文件基本信息
      • 案例3:获取文件基本信息
  • os.path子模块
    • 操作目录函数
    • 案例4:获得文件基本信息(同os模块的高级文件操作)

os模块

python中并没有提供直接操作目录的函数或对象,需要只用内置的os模块实现
os模块是python实现与操作系统交互的模块,在不同的操作系统上运行可能会得到不同的结果

通用变量
变量名描述举例
os.name返回操作系统类型nt表示windows,posix表示linux
os.sep(os.path.sep)系统路径分隔符号window为"",linux为"/",如E:newfile.txt中的’’
os.extsep(os.path.extsep)获取文件名称和后缀之间的间隔符号如cat.jpeg中的"."
案例1:使用os.path拼凑路径1名称
import os
path_newfile='E:'+os.sep+'newfile'+os.path.extsep+'txt'		# os模块存在有sep系统分隔符变量,与os.path模块中的相同
path_cat='E:'+os.path.sep+'cat'+os.path.extsep+'jpeg'
if os.path.exists(path_newfile) and os.path.exists(path_cat):
	print('文件路径拼凑完毕:',path_newfile)
	print('图片路径拼凑完毕:',path_cat)
# 文件路径拼凑完毕: E:newfile.txt
# 图片路径拼凑完毕: E:cat.jpeg		
操作目录函数
方法描述
getcwd()返回当前的工作目录
chdir(path)将path设置为当前工作目录
mkdir(path,mode)创建单级目录(即创建一个空的目录)
makedir(name,mode=0o777,exist_ok=Flase)创建多级目录(即可以在未创建的父目录下创建子目录)
rmdir(path)删除目录(path为要删除的目录相对或绝对路径,path必须存在只能为空目录,否则将会报错)
removedirs(path)删除多级目录
walk(top[,topdown])遍历目录
listdir(path)列出当前目录中所有子路径(只能列出子路径,列表形式返回)
rename(path,newpath)为目录或文件重命名
遍历目录

os模块的walk()函数2可以实现遍历目录的功能
语法格式:os.walk(top[,topdown],[,onerror][,followlinks])
参数说明

参数描述
top根目录
topdown遍历顺序,True表示自上向下遍历,False表示自下向上遍历(默认True)
onerror错误处理方式,可以指定一个错误处理函数,默认忽略
followlinks是否支持访问由符号链接指向的目录,默认支持
案例2:遍历一个目录

高级文件操作

os模块除了操作目录外,还可以对文件进行一些高级操作

操作函数
函数描述简介
access(path,mode)获取对文件是否有mode所指定的访问权限,mode可取(R_OKW_OKX_OKF_OK) ,有访问权限返回1,否则返回0
chmod(path,mode)修改指定文件的访问权限修改权限
remove(path)删除path指定的文件路径删除文件或目录(路径不存在报错)
rename(path,name)将path指定的文件名修改为newname重命名(路径不存在报错)
stat(path)返回path指定的文件信息获取文件信息
获取文件基本信息

语法格式:os.stat(path),返回一个文件对象,该对象有如下属性,通过访问这些属性可以获取文件的基本信息

属性描述属性描述
st_mode保护模式st_dev设备名
st_ino索引号st_uid用户ID
st_nlink被连接数目st_gid组ID
st_size(os.path.getsize())文件大小st_atime(os.path.getatime())最后一次访问时间(时间戳)
st_mtime(os.path.getmtime())最后一次修改时间(时间戳)st_ctime(os.path.getctime())文件创建时间(windows平台)
案例3:获取文件基本信息
import os
path=r'E:网络爬虫CSDN1三国演义.txt'
fileobj=os.stat(path)
print('索引号:',fileobj.st_ino)
print('文件大小:',fileobj.st_size)
print('最后一次访问时间:',fileobj.st_atime)

运行结果

os.path子模块

path子模块主要功能是进行路径的处理判断,可以根据一个路径获取该路径对应的父目录和子文件信息

操作目录函数
方法描述返回数据类型
abspath(path)获得绝对路径字符串
basename(path)获得文件名称字符串
dirname(path)返回父路径字符串
join(path,name)将目录与目录或文件名拼接(当path中有多个绝对路径时,只取最后一个拼接)
exists(path)path为目录或文件的路径3布尔值
getatime()返回最近访问时间浮点数(时间戳)
getmtime()返回最近一次修改时间浮点数(时间戳)
getctime()返回创建时间浮点数(时间戳)
getsize()返回文件大小数字(文件所占字节大小)
案例4:获得文件基本信息(同os模块的高级文件操作)
import os
PATH='E:\CSDN\122.py'
if os.path.exists(PATH):
	print(f"文件绝对路径为 {os.path.abspath(PATH)}")
	print(f"父路径为 {os.path.dirname(PATH)}")
	print(f"文件名称为 {os.path.basename(PATH)}")
	print(f"文件大小 {os.path.getsize(PATH)}")
	print(f"当前路径是否为文件 {os.path.isfile(PATH)},是否为目录 {os.path.isdir(PATH)}")
# 文件绝对路径为 E:\CSDN\122.py
# 父路径为 E:\CSDN
# 文件名称为 122.py
# 文件大小 564
# 当前路径是否为文件 True ,是否为目录 False

  1. python程序的跨平台特点,使用过程中,由于文件路径分隔符在不同的操作系统(如window,linux)有明显差别,为解决这样的问题,在定义操作路径时,我们使用os.path模块提供的路径变量进行访问路径的拼凑处理 ↩︎

  2. walk()函数的返回值为包含3个元素(dirpath,dirnames,filenames)的元组生成器对象,
    参数
    ↩︎

  3. 用来定位一个文件或目录的字符串称为一个路径,根据定位方式,路径又被分为相对路径和绝对路径
    当前工作目录就是指当前文件所在的目录。python中可以通过os模块的getcwd()函数获取当前工作目录
    相对路径
    1、'./' 表示当前目录
    2、'../' 表示父级目录
    3、'/' 表示根目录
    绝对路径
    使用文件时指定文件的实际路径,不依赖当前工作目录,如路径:C://program//123.py是一个绝对路径,而路径:./123.py是一个相对路径 ↩︎

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/290834.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号