参考官方文档
该模块主要针对路径的操作,如果想对文件进行操作,参考 open();如果是针对系统基本的命令,参考 os 模块。
os.path.abspath(‘path’)
返回绝对路径,注意有引号
import os
print(os.path.abspath('.'))
/Users/wangxiansheng/Documents/Pycharm/christian
os.path.abspath(path)
返回文件名
import os
print(os.path.basename('/Users/wangxiansheng/Documents/Pycharm'))
Pycharm
os.path.dirname(path)
返回文件路径,不包含文件名
import os
a = 'wangxiansheng'
b = '/Citizen/Wang'
print(os.path.abspath(a))
print(os.path.abspath(b))
print(os.path.dirname(a))
print(os.path.dirname(b))
结果,注意对比和 os.path.abspath 的区别
/Users/wangxiansheng/Documents/Pycharm/christian/wangxiansheng
/Citizen/Wang
/Citizen
绝对路径
所在目录
os.path.exists(path)
判断路径是否存在,存在返回 True,不存在返回 False
import os
a = '/Users/wangxiansheng/Documents/Pycharm/christian'
print(os.path.exists(a))
True
os.path.exists 是最为常用的方法是配合 if 语句来做判断 =大师兄python
import os
a = '/Users/wangxiansheng/Documents/Pycharm/christian'
if not os.path.exists(a):
os.mkdir(a)
else:
print('Directory is already exist')
os.path.isfile 判断是否是文件
os.path.isdir 判断是否是目录
os.path.isline 判断是否是个链接文件
os.path.ismount 判断是否是挂载点
os.path.isabs 判断是否是绝对路径
import os
a = '/Users/wangxiansheng/Documents/Pycharm/christian'
if os.path.isdir(a):
print('it is a directory')
else:
print('it is not a directory')
os.path.join(path1, *path)
把 path1,path2 文件和目录合并成一个路径
import os
for filename in os.listdir('/Users/wangxiansheng/Desktop'):
print(os.path.join('/tmp', filename))
os.path.splittext()
分隔目录名,返回由文件名和扩展名组成的元组
import os
a = os.path.splitext('/alex/laowang.txt')
print(a)
print(type(a))
('/alex/laowang', '.txt')
<class 'tuple'>
os.path.split()
分隔路径和文件名,结果是一个由文件名和上级目录最的元组
import os
a = os.path.split('/hangzhou/alex/laowang.txt')
print(a)
print(type(a))
('/hangzhou/alex', 'laowang.txt')
<class 'tuple'>