os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法:
- os.path.abspath() 返回一个目录的绝对路径
- os.path.basename() 返回一个目录的基名
- os.path.dirname() 返回一个目录的目录名
- os.path.exists() 判断文件是否存在
- os.path.getatime() 返回指定文件最后一次的访问时间
- os.path.getctime() 返回指定文件最后一次修改时间
- os.path.getsize() 返回文件的大小
- os.path.isabs() 判断是否是绝对路径
- os.path.isdir() 判断是否是目录
- os.path.isfile() 判断是否是文件
- os.path.islink() 判断是否是链接
- os.path.ismount() 判断路径是否为挂载点
- os.path.join(a,*p) 将目录和文件名拼接成一个完成了路径
- os.path.realpath() 返回指定文件的标准路径,而非软链接所在路径
- os.path.samefile() 测试两个路径是否指向同一个文件
- os.path.split() 把路径分割成目录和基名组成的元组
- os.path.splitext() 分割路径,返回路径名和文件扩展名的元组
-
os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。
以下是该模块实例:
#定义路径
fp = '/Users/gokaniku/PycharmProjects/qa-autotest/api_autotest/projects/student/testdata/test_get_feedback_list.yaml'
>>> os.path.abspath(fp)
'/Users/gokaniku/PycharmProjects/qa-autotest/api_autotest/projects/student/testdata/test_get_feedback_list.yaml'
>>> os.path.basename(fp)
'test_get_feedback_list.yaml'
>>> os.path.dirname(fp)
'/Users/gokaniku/PycharmProjects/qa-autotest/api_autotest/projects/student/testdata'
>>> os.path.exists(fp)
True
>>> os.path.getatime(fp)
1559373409.1203306
>>>
>>> os.path.getmtime(fp)
1559279604.7220535
>>> os.path.getsize(fp)
459
>>> os.path.isabs(fp)
True
>>> os.path.isdir(fp)
False
>>> os.path.isfile(fp)
True
>>> os.path.islink(fp)
False
>>> os.path.ismount(fp)
False
>>> os.path.join('/Users/gokaniku/PycharmProjects/qa-autotest/api_autotest/projects/student/testdata','test_get_feedback_list.yaml')
'/Users/gokaniku/PycharmProjects/qa-autotest/api_autotest/projects/student/testdata/test_get_feedback_list.yaml'
>>> os.path.realpath(fp)
'/Users/gokaniku/PycharmProjects/qa-autotest/api_autotest/projects/student/testdata/test_get_feedback_list.yaml'
>>> os.path.split(fp)
('/Users/gokaniku/PycharmProjects/qa-autotest/api_autotest/projects/student/testdata', 'test_get_feedback_list.yaml')
>>> os.path.splitext(fp)
('/Users/gokaniku/PycharmProjects/qa-autotest/api_autotest/projects/student/testdata/test_get_feedback_list', '.yaml')
补充知识点:获取当前目录,上级目录,上上级目录
import os print '***获取当前目录***' print os.getcwd() print os.path.abspath(os.path.dirname(__file__)) print '***获取上级目录***' print os.path.abspath(os.path.dirname(os.path.dirname(__file__))) print os.path.abspath(os.path.dirname(os.getcwd())) print os.path.abspath(os.path.join(os.getcwd(), "..")) print '***获取上上级目录***' print os.path.abspath(os.path.join(os.getcwd(), "../.."))