os.path模块常用的9个方法:
官方文档: https://docs.python.org/3/library/os.path.html
1、os.path.abspath
获取文件绝对路径
import os.path
path = "test.py"
print(os.path.abspath(path))#C:\Users\H510M-E\Desktop\测试\测试\自动化\pointcredit1\test.py
2、os.path.basename
获取文件名,不包含目录部分,如果该路径本身就是一个目录,那么返回的就是空
path = "C:/Users/H510M-E/Desktop/测试/测试/自动化/pointcredit1/test.py"
print(os.path.basename(path)) # test_path.py
3、os.path.dirname
获取文件的目录部分,dirname+basename就可以构成文件的完整路径名
path = "C:/Users/H510M-E/Desktop/测试/测试/自动化/pointcredit1/test.py"
print(os.path.dirname(path))#C:/Users/H510M-E/Desktop/测试/测试/自动化/pointcredit1
4、os.path.exists
判断路径是否存在,这里的路径包括目录和文件(在linux系统,一切皆文件),如果你直接复制我的代码,可能返回的结果是False,因为你的系统可能没有这些目录。
path = "C:/Users/H510M-E/Desktop/测试/测试/自动化/pointcredit1/test.py"
print(os.path.exists(path))#True
5、os.path.getsize
获取文件大小,也可以获取目录(所有文件的)大小,取决你你传的路径参数是文件还是目录。单位是字节
path = "C:/Users/H510M-E/Desktop/测试/测试/自动化/pointcredit1/test.py"
print(os.path.getsize(path))#137
6、os.path.split
split方法会将路径切割成两部分,以最后一个斜杠作为切割点,第一部分是文件所在的目录,第二部分文件名本身。如果传入的path是以"""结尾,那么第二部就是空字符串
path = "C:/Users/H510M-E/Desktop/测试/测试/自动化/pointcredit1/test.py"
print(os.path.split(path))#('C:/Users/H510M-E/Desktop/测试/测试/自动化/pointcredit1', 'test.py')
7、os.path.join
join是与splt对应的方法,用于拼接文件路径,一般用于已知a文件的完整路径,我想在与文件同目录下创建个b文件就可以用到join方法。
a_path = "C:/Users/H510M-E/Desktop/测试/测试/自动化/pointcredit1/test.py"
dir = os.path.split(a_path)[0]
print(os.path.join(dir, "b.py")) #"C:/Users/H510M-E/Desktop/测试/测试/自动化/pointcredit1/b.py
8、os.path.isdir
判断路径是否为目录,注意,如果该目录不存在也不会报错,而是直接返回False
path = "C:/Users/H510M-E/Desktop/测试/测试/自动化/pointcredit1/test.py"
print(os.path.isdir(path))#False
9.os.path.isfile
判断路径是否为文件,注意,如果该文件不存在也不会报错,而是直接返回False
path = "C:/Users/H510M-E/Desktop/测试/测试/自动化/pointcredit1/test.py"
print(os.path.isfile(path))#True