os
os是“operating system”的缩写,顾名思义,os模块提供各种 Python 程序与操作系统进行交互的接口。通过使用os模块,一方面可以方便地与操作系统进行交互,另一方面也可以极大增强代码的可移植性。
本文整理总结os的常用函数,文档不断更新中···
1.获取当前工作路径
import os
os.getcwd() # 返回该文件所在的位置。
2.获取当前目录下的所有路径和文件
os.listdir(file_path) # 函数返回值是一个列表,其中元素为路径名和文件名,可以用在需要遍历某个文件夹中所有文件的情况。
3.遍历目录数
遍历目录树的函数os.walk(path)。它返回一个生成器对象,可以用于遍历指定目录及其子目录中的所有文件和文件夹。
for root, dirs, files in os.walk('path'):
# root表示当前正在遍历的目录路径
# dirs表示当前目录下的所有子目录名列表
# files表示当前目录下的所有文件名列表
# TODO 在这里可以对当前目录下的文件和子目录进行处理
4.创建文件夹
if not os.path.exists('file_path/file_name'):
os.mkdir('file_path/file_name') # 需要传入一个参数指定新建路径的位置和名称
5.返回路径最下级的目录
os.path.basename('file_path/file_name')
return file_name #传入完整路径,返回传入路径的最下级目录
6.返回最后一个分隔符前的所有路径
os.path.dirname('file_path/file_name')
return file_path # 与os.path.basename正好相反,os.path.dirname返回最后一个分隔符前面的所有的路径
7.以最后一个分隔符为界,将路径分为两部分
os.path.split('file_path/file_name')
return (file_path,file_name) # 返回一个元组,包含两部分内容,第一部分是os.path.dirname的内容,第二部分是os.path.basename的内容
8.将多个传入路径组合为一个路径
os.path.join(file_path,file_name) # 以第一个参数为父目录,之后的每一个参数为下一级目录(如果中间出现了存在“绝对路径”的字符,则以该字符为父目录)
9.获取文件的相对路径
获取相对路径的函数os.path.relpath(path1,path2)。它返回从path2到path1的相对路径,其中path1和path2可以是文件或目录的路径。
os.path.relpath(path1,start)函数还可以接受一个可选参数start,用于指定相对路径的起点。如果省略start参数,则默认使用当前工作目录作为起点。
path1 = '/home/user/myproject/file.txt'
path2 = '/home/user'
start = '/home'
rel_path = os.path.relpath(path1, path2)
print(rel_path) # 输出:myproject/file.txt
rel_path_from_start = os.path.relpath(path1, start)
print(rel_path_from_start) # 输出:user/myproject/file.txt
10.判断是文件还是目录
os.path.isdir(file) # 判断是否为目录
os.path.isfile(file) # 判断是否为文件