python3 os.path 模块常用方法汇总

os.path

参考官方文档

该模块主要针对路径的操作,如果想对文件进行操作,参考 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.abspath 是获得文件的绝对路径
  • os.path.dirname 是获得文件的所在目录

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'>

你可能感兴趣的:(python)