文档声明:
以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学习的深入不断补充完善。感谢各位的参考查看。
笔记资料仅供学习交流使用,转载请标明出处,谢谢配合。
如果存在相关知识点的遗漏,可以在评论区留言,看到后将在第一时间更新。
作者:Aliven888
1、背景
python 一般是提供 OS(操作系统 - Operating Syetem) 模块实现的。python 是跨平台的语言,正是因为有了 OS 模块,才使得在 python 同样的源代码在不同的操作系统中不需要重新修改代码就能直接运行。
2、OS 模块中常用的 BIF
接下来我们介绍一些在 python 中常用的 BIF 。
头文件:import os
2.1、os 模块
名称 | 描述 |
---|---|
os.getcwd() | 返回当前工作目录 |
os.chdir(newPath) | 改变工作目录 |
os.listdir(path = “”) | 列举指定目录中的文件名(’.’ 表示当前目录, ‘…’ 表示上一级目录) |
os.mkdir(path) | 创建单层目录,如果目录已存在,抛出异常 |
os.makedirs(path) | 递归创建多层目录,如果该目录已存在则抛出异常,注意:‘E:\a\b’ 和 'E:\a\c’并不会冲突 |
os.removes(path) | 删除文件 |
os.rmdir(path) | 删除单层目录,如果该目录非空则抛出异常 |
os.removedirs(path) | 递归删除目录,从子目录到父目录逐级删除,遇到非空目录抛出异常 |
os.rename(old, new) | 将文件old重命名为new |
os.system(command) | 运行系统的shell命令 |
以下是支持路径操作中常用的一些BIF,支持所有的平台 | |
os.curdir | 代指当前目录 ‘.’ |
os.pardir | 代指上一级目录 ‘…’ |
os.sep | 输出操作系统特定的系统分割符,windows下是 ‘\’ linux 下是’/’ |
os.linesep | 当前系统使用的行终止符,windows下是 ‘\r\n’ linux 下是’\n’ |
os.name | 代指当前使用的操作系统(包括posix, nt, mac, os2, ce, java) |
>>> #!/usr/bin/python3
>>> import os # 引入头文件
>>> os.getcwd() # 获取当前路径
'D:\\Python\\L'
>>>
>>> os.chdir("E:\\") # 修改文件路径
>>> os.getcwd() # 输出修改后的路径
'E:\\'
>>> os.chdir("F:\\Aliven")
>>> os.listdir('.') # 获取当前路径下文件夹
['a', 'b', 'c']
>>> os.mkdir('d') #创建文件夹
>>> os.listdir('.')
['a', 'b', 'c', 'd']
>>> os.rename('d', 'e') #修改文件夹名称
>>> os.listdir('.')
['a', 'b', 'c', 'e']
2.2、 os.path 模块
os.path 模块主要用于获取文件的属性。
方法 | 说明 |
---|---|
os.path.abspath(path) | 返回绝对路径 |
os.path.basename(path) | 返回文件名 |
os.path.commonprefix(list) | 返回list(多个路径)中,所有path共有的最长的路径 |
os.path.dirname(path) | 返回文件路径 |
os.path.exists(path) | 路径存在则返回True,路径损坏返回False |
os.path.lexists | 路径存在则返回True,路径损坏也返回True |
os.path.expanduser(path) | 把path中包含的""和"user"转换成用户目录 |
os.path.expandvars(path) | 根据环境变量的值替换path中包含的" n a m e " 和 " name"和" name"和"{name}" |
os.path.getatime(path) | 返回最近访问时间(浮点型秒数) |
os.path.getmtime(path) | 返回最近文件修改时间 |
os.path.getctime(path) | 返回文件 path 创建时间 |
os.path.getsize(path) | 返回文件大小,如果文件不存在就返回错误 |
os.path.isabs(path) | 判断是否为绝对路径 |
os.path.isfile(path) | 判断路径是否为文件 |
os.path.isdir(path) | 判断路径是否为目录 |
os.path.islink(path) | 判断路径是否为链接 |
os.path.ismount(path) | 判断路径是否为挂载点 |
os.path.join(path1[, path2[, …]]) | 把目录path1和文件名path2合成一个路径 |
os.path.normcase(path) | 转换path的大小写和斜杠 |
os.path.normpath(path) | 规范path字符串形式 |
os.path.realpath(path) | 返回path的真实路径 |
os.path.relpath(path[, start]) | 从start开始计算相对路径 |
os.path.samefile(path1, path2) | 判断目录或文件是否相同 |
os.path.sameopenfile(fp1, fp2) | 判断fp1和fp2是否指向同一文件 |
os.path.samestat(stat1, stat2) | 判断stat tuple stat1和stat2是否指向同一个文件 |
os.path.split(path) | 把路径分割成 dirname 和 basename,返回一个元组 |
os.path.splitdrive(path) | 一般用在 windows 下,返回驱动器名和路径组成的元组 |
os.path.splitext(path) | 分割路径中的文件名与拓展名 |
os.path.splitunc(path) | 把路径分割为加载点与文件 |
os.path.walk(path, visit, arg) | 遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数 |
os.path.supports_unicode_filenames | 设置是否支持unicode路径名 |