os.path.abspath:获取文件或目录的绝对路径
os.path.dirname:获取文件或文件夹的路径
os.path.basename:获取文件名或文件夹名
os.path.splitext:分离文件名与扩展名
os.path.isfile/os.path.isdir:判断是否是文件/目录
os.walk:遍历目录
1 """
2 os模块
3 """
4 import os
5
6 """os.path.abspath:获取文件或目录的绝对路径"""
7 # 当前问价所在的目录 D:\python\demo
8 print(os.path.abspath('.'))
9
10 # 当前文件的绝对路径 D:\python\demo\test.py
11 print(os.path.abspath(__file__))
12
13 # 当前文件同级目录下的xxx.py文件路径,这里只是打印路径,即使文件不存在,也会输出这个路径
14 # D:\python\demo\xxx.py
15 print(os.path.abspath('xxx.py'))
16
17 """os.path.dirname:获取文件或文件夹的路径"""
18 # 输出 D:/python/demo 斜杠跟abspath不一样
19 print(os.path.dirname(__file__))
20 # 输出空
21 print(os.path.dirname('xxx.py'))
22 # 输出subfolder
23 print(os.path.dirname('subfolder/xxx.py'))
24
25 """os.path.basename:获取文件名或文件夹名"""
26 # 输出当前文件名 test.py
27 print(os.path.basename(__file__))
28 # 输出 xxx.py
29 print(os.path.basename('/subfolder/xxx.py'))
30 # 输出空
31 print(os.path.basename('/subfolder/'))
32 # 输出subfolder
33 print(os.path.basename('/subfolder'))
34 # 输出subfolder
35 print(os.path.basename('subfolder'))
36 # 综上,basename实际输出最后一个斜杠后的字符串
37
38 """os.path.splitext:分离文件名与扩展名"""
39 # 输出 ('D:/python/demo/test', '.py')
40 print(os.path.splitext(__file__))
41 # 输出 ('test', '.py')
42 print(os.path.splitext('test.py'))
43 # 输出 ('/subfolder', '')
44 print(os.path.splitext('/subfolder'))
45
46 """os.path.isfile/os.path.isdir:判断是否是文件/目录"""
47 print(os.path.isfile(__file__)) # True
48 print(os.path.isfile('D:/python/demo/test.py')) # True
49 print(os.path.isfile('D:/python/demo')) # False
50 print(os.path.isdir('D:/python/demo/test.py')) # False
51 print(os.path.isdir('D:/python/demo')) # True
52 # 路径必须存在,否做判断为False
53
54 """os.walk:遍历目录"""
55 for root, dirs, files in os.walk(os.path.dirname(__file__)): # 当前文件的目录
56 print(root) # 目录
57 print(dirs) # 列表:目录下的子目录
58 print(files) # 列表:目下下的文件
59
60 for r, d, f in os.walk('D:/python/demo'):
61 print(r)
62 print(d)
63 print(f)