Python模块——os模块详解
本文大纲
os模块是Python中整理文件和目录最为常用的模块,该模块提供了非常丰富的方法用来处理文件和目录。本着只讲最有用
的态度,下方我将os模块中一些我经常用的的方法,给大家详细列举出来了,希望减少大家的学习负担
。
知识串讲
1)模块的安装和导入
# 导入import os
- 1
- 2
- 1
- 2
2)os.getcwd()
- 作用:获取当前的工作路径;
os.getcwd()
1
1
结果如下:
3)os.listdir(path)
作用:传入任意一个path路径,返回的是该路径下所有
文件和目录
组成的列表;
path = r'C:\Users\黄伟\Desktop\publish\os模块\test_os模块'os.listdir(path)
- 1
- 2
- 1
- 2
结果如下:
3)os.walk(path)
- 含义 :传入任意一个path路径,深层次遍历指定路径下的所有子文件夹,返回的是一个由路径、文件夹列表、文件列表组成的元组。我代码中写的方式属于
元组拆包
; 元组拆包
:就是将一个元组中的每个值,赋值给不同的变量;
path = r'C:\Users\黄伟\Desktop\publish\os模块\test_os模块'for path,dirs,files in os.walk(path): print(path) print(dirs) print(files) print('\n')
1
2
3
4
5
6
1
2
3
4
5
6
结果如下:
4)os.path.exists(path)
含义:传入一个path路径,判断指定路径下的目录是否存在。存在返回True,否则返回False;
path1 = 'C:\\Users\\黄伟\\Desktop\\publish\\os模块\\huang_wei'if os.path.exists(path1): print('指定文件夹存在')else: print('指定文件夹不存在')
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
结果如下:
5)os.mkdir(path)
- 含义:传入一个path路径,创建单层(单个)文件夹;
- 注意:如果文件夹已经存在,就会报错。因此创建文件夹之前,需要使用os.path.exists(path)函数判断文件夹是否存在;
os.getcwd()path1 = os.getcwd()+'\\huang_wei'os.mkdir(path1)
1
2
3
1
2
3
结果如下:
6)os.makedirs(path)
含义:传入一个path路径,生成一个递归的文件夹;
注意:如果文件夹存在,就会报错。因此创建文件夹之前,需要使用os.path.exists(path)函数判断文件夹是否存在;
os.getcwd()path1 = os.getcwd()+'\\huang_wei'os.mkdir(path1)
- 1
- 2
- 3
- 1
- 2
- 3
结果如下:
7)os.rmdir(path)
- 含义:传入一个path路径,删除指定路径下的文件夹;
- 注意:该方法只能删除空文件夹,删除非空文件夹会报错;
path1 = os.getcwd()+'\\huang_wei'os.rmdir(path1)----------------------------------path2 = os.getcwd()+'\\a\\b\\c'os.rmdir(path2)
1
2
3
4
5
1
2
3
4
5
结果如下:
8)os.path.join(path1,path2)
含义:传入两个path路径,将该路径拼接起来,形成一个新的完整路径;
path = os.getcwd()lis = ['a.jpg','b.jpg','c.jpg']for i in lis: x = os.path.join(path,i) print(x)
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
结果如下:
9)os.path.split(path)
- 含义:传入一个完整的path路径,将其拆分为
绝对路径
和文件名
2部分;
path1 = r'C:\Users\黄伟\Desktop\publish\os模块\a.jpg'os.path.split(path1)
1
2
1
2
结果如下:
10)os.path.dirname(path)
含义:传入一个完整的文件路径,只获取其绝对路径;
path1 = r'C:\Users\黄伟\Desktop\publish\os模块\a.jpg'os.path.dirname(path1)
- 1
- 2
- 1
- 2
结果如下:
11)os.path.basename(path)
- 含义:传入一个完整的文件路径,只获取其文件名;
path1 = r'C:\Users\黄伟\Desktop\publish\os模块\a.jpg'os.path.basename(path1)
1
2
1
2
结果如下:
12)os.path.isdir(path)
含义:传入一个完整的文件路径,判断它是否是文件夹;
path = os.getcwd()file_list = os.listdir()for file in file_list: if os.path.isdir(file): print(file)
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
结果如下:
13)os.path.isfile(path)
- 含义:传入一个完整的文件路径,判断它是否是文件;
path = os.getcwd()file_list = os.listdir()for file in file_list: if os.path.isfile(file): print(file)
1
2
3
4
5
1
2
3
4
5
结果如下:
14)os.path.sep
含义:返回当前操作系统的路径分隔符;
os.path.sep
- 1
- 1
结果如下:
15)os.path.getsize(path)
- 含义:传入一个完整的文件路径,返回该文件的大小;
os.path.getsize('我创建的压缩包.zip')
1
1
结果如下:
赞 (0)