python文件路径的获取方法太多了,而且有很多方法实现了相同的功能
import os,sys
a = os.path.abspath('.') #获取当前路径 可以使文文件名
b = os.path.dirname(a) #获取当前文件的父路径
c =os.path.abspath(os.path.dirname(a)+os.path.sep+".") #父目录
d = os.path.dirname(a)+os.path.sep+"."
e = os.path.sep+"." #\.
f = os.path.sep #\
g = os.getcwd() #获取当前路径
h = os.path.abspath('..') #父目录
i = os.path.realpath('abf.xlsx')
j = os.path.relpath(a)
k = os.path.split(a) #返回dirname和basename的一个元组
l = os.path.splitext(i)[1] #分割路径,返回路径名和文件扩展名的元组
m = sys.argv[0] #完整路径
list = [a,b,c,d,e,f,g,h,i,j,k,l,m]
letter = [chr(i) for i in range(97,123)]
for i in range(len(list)):
print(letter[i],':',list[i])
p = 'a/b/c/d'
print(os.path.relpath(p)) #默认当前目录开始 相当于 ./a/b/c/d
print(os.path.relpath(p,'a/b'))# 以a/b/目录开始 c/d
打印输出
a : C:\Users\c84122827\.spyder-py3
b : C:\Users\c84122827
c : C:\Users\c84122827
d : C:\Users\c84122827\.
e : \.
f : \
g : C:\Users\c84122827\.spyder-py3
h : C:\Users\c84122827
i : C:\Users\c84122827\.spyder-py3\abf.xlsx
j : .
k : ('C:\\Users\\c84122827', '.spyder-py3')
l : .xlsx
m : C:/Users/c84122827/.spyder-py3/temp.py
a\b\c\d
c\d