引言
在Python语言使用中,不可避免地会涉及到对文件或目录的访问及相关操作,这时候os库就要隆重登场了。要想使用这个库,就要先安装,安装方式跟之前博客介绍的一样(检查python是否安装成功及第三方库安装-CSDN博客)。安装完成后,小编将带各位小可爱们从以下4各方面开展学习。
什么是os库?
os其实是“operating system”的缩写形式,从os的全称不难猜出,os库实现Python程序与操作系统的交互。简单来说,这个库可以帮助我们访问个人电脑上的文件或目录。
os库的基本功能有什么?
os库能够实现的功能包括处理文件和目录、获取系统信息、执行系统命令等。
os库组成包括哪些?
os库中包含丰富的操作函数,如:文件和目录操作系列(os.path系列、os.access、os.link、os.remove等)、操作当前进程和用户的信息系列、创建文件对象系列、文件IO操作系列、查询终端尺寸、文件描述符的继承系列等。
如何使用os库?
接下来,我们从文件和目录操作系列中的os.path系列入手,小编将带给小可爱逐步揭秘os库中的所有函数,帮助各位小可爱在软件开发、数据分析中更好应用os库,更加得心应手地处理自己的学习工作。
os.path系列都包括哪些函数?
为了方便各位小可爱了解os.path系列函数、作用及参数的意义,小编整理成了Excel表格,供各位小可爱参考。
功能 | 函数 | 作用 | 参数 | |
文件和目录操作之os.path | os.path.abspath(path) | 返回指定路径的绝对路径 | path代表目录 | |
os.path.basename(path) | 返回要访问的文件夹名 | path代表目录 | ||
os.path.commonprefix(list) | 返回指定列表中最长的公用路径前缀,在软件开发设置文件夹访问路径时非常有用 | list代表不同文件夹路径组成的列表 | ||
os.path.dirname(path) | 返回文件路径的上一级目录 | path代表目录 | ||
os.path.exists(path) | 判断路径是否存在 | path代表目录 | ||
os.path.lexists(path) | 检查给定路径是否存在 | path代表目录 | ||
os.path.getatime(path) | 返回浮点数,该值是文件或目录元数据最后修改的时间,该时间是纪元秒数 | path代表目录 | ||
os.path.getctime | 返回浮点数,该值是文件或目录最后访问的时间,该时间是纪元秒数 | path代表目录 | ||
os.path.getmtime(path) | 返回浮点数,该值是文件或目录最后修改的时间,该时间是纪元秒数 | path代表目录 | ||
os.path.getsize(file) | 返回文件大小,单位为字节,如果文件不存在就返回错误 | path代表目录 | ||
os.path.isabs(path) | 判断路径是否为绝对路径 | path代表目录 | ||
os.path.isfile(file) | 如果路径是一个存在的文件,返回 True。否则返回 False | file代表文件的路径 | ||
os.path.isdir(path) | 如果路径是一个存在的目录,则返回 True。否则返回 False | path代表目录 | ||
os.path.join(path1,file_name) | 将目录和文件名组合后返回,常用批量读取目录中的文件 | path代表目录,file_name代表文件名 | ||
os.path.normpath(path) | 规范路径的字符串 | path代表目录 | ||
os.path.normcase(path) | 将路径的字母转换为小写 | path代表目录 | ||
os.path.expandvars(path) | 扩展给定路径中的环境变量,返回一个字符串,该字符串表示环境变量已扩展的参数 | path代表文件系统路径的path-like对象 | ||
os.path.expanduser(path) | 将路径字符串中的波浪线(~)扩展为用户的主目录(实际的路径字符串) | path是一个相对路径 | ||
os.path.islink(path) | 判断给定路径是否是符号链接 | path代表文件系统路径的path-like对象 | ||
os.path.ismount(path) | 检查给定路径是否为挂载点,挂载点是磁盘文件系统的入口目录 | path代表目录或文件路径 | ||
os.path.realpath(__file__) | 方法所在的脚本路径 | __file__为python当前页面的方法 | ||
os.path.relpath(path) | 获取给定路径的相对文件路径 | |||
os.path.samefile(path,path2) | 检查给定的两个路径名是否指向相同的文件或目录 | path,path2代表目录 | ||
os.path.sameopenfile(fd,fd1) | 检查给定的文件描述符是否引用相同的文件 | fd,fd1代表文件描述符 | ||
os.path.samestat(sta,sta2) | 检查给定的统计元组是否引用相同的文件 | sta,sta2为统计元组 | ||
os.path.split(path) | 把路径分割成上一级目录和当前目录,返回一个元组 | path代表目录或文件路径 | ||
os.path.splitdrive(path) | 返回驱动器名和路径组成的元组 | path代表目录 | ||
os.path.splitext(file) | 分离文件名与扩展名,返回(f_name, f_extension)元组 | file代表文件的路径 |
os.path系列具体如何使用?
为了加深各位小可爱对os.path系列函数的理解,小编特意将每个函数在PyCharm中操作了一遍,各位小可爱也可以跟着下面的代码一起来实践一下。
首先,现在自己电脑桌面上新建两个文件夹,并在文件夹中放一些文件,小编新建的文件夹和各个文件夹内放置的文件如下图所示。
创建完文件夹后,就开始具体的实践(如下),各位小可爱在操作os.path下的某个函数时,为了便于查看结果,可以先将其他的函数注释掉,具体的注释方法小编在其他的博客中做了具体介绍(参见Python——注释及缩进,批量注释(取消注释)及批量缩进(取消缩进)-CSDN博客)。
#_*_ coding:UTF-8 _*_
import os
path='C:\\Users\\Administrator\\Desktop\\page'
path2='C:\\Users\\Administrator\\Desktop\\page2'
path3='~\\Desktop\\page2'
file='C:\\Users\\Administrator\\Desktop\\page\\OS库.png'
file2='C:\\Users\\Administrator\\Desktop\\page2\\OS库.png'
file_name='a.txt'
paths=[path,path2]
print(os.path.abspath(path))
print(os.path.basename(path))
print(os.path.commonprefix(paths))
print(os.path.dirname(path))
print(os.path.exists(path))
print(os.path.getatime(path))
print(os.path.getctime(path))
print(os.path.getmtime(path))
print(os.path.getsize(file))
print(os.path.isabs(file))
print(os.path.isfile(file))
print(os.path.isdir(path))
print(os.path.join(path,file_name))
print(os.path.normpath(path))
print(os.path.normcase(path))
print(os.path.split(file))
print(os.path.splitdrive(path))
print(os.path.splitext(file))
print(os.path.expanduser(path3))
path4 = "${TEMP}\\OS库.png"
print(os.path.expandvars(path4))
print(os.path.islink(file))
path5="C:"
print(os.path.ismount(path5))
print(os.path.lexists(path2))
print(os.path.realpath(__file__))
print(os.path.relpath(path,path2))
print(os.path.samefile(path,path2))
fd1=os.open(file,os.O_RDONLY)
fd2=os.open(file2,os.O_RDONLY)
print(os.path.sameopenfile(fd1,fd2))
sta=os.stat(path)
sta2=os.stat(path2)
print(os.path.samestat(sta,sta2))
好啦,小编今天的分享就到这里啦,下次小编的分享内容是文件和目录操作系列除os.path类函数外的其余函数,让我们一起期待一下吧。