python中获取路径的方法都在os.path中,因此需要引入os包:
import os
为了获取某个文件的路径,可以使用__file__变量(使用该变量也需要引入os),该变量表示它所在文件的路径,比如它在file01.py文件中,就得到file01.py文件的路径,在file02.py文件中,就得到file02.py的路径,但是这个变量有时候返回相对路径,有时候返回绝对路径,采用相对路径来执行(python test.py)返回得到的是test.py的相对路径,采用(python e:\\test.py)方式,得到的就是test.py的绝对路径,因此通常获取需要获取文件的绝对路径,再进行进一步的处理:
absPath =os.path.abspath(__file__) #__file__所在文件的绝对路径,比如E:\\pythonPro\\mytest\\test.py
如果要获取test.py文件的父目录,可以使用dirname方法,该方法的结果实际上是os.path.split(path)方法的第一个元素,下面首先介绍os.path.split(path)方法。
加入存在path= E:\\pythonPro\\mytest\\test.py,那么对path使用split方法,将得到一个包含两个元素的元祖:
>>>os.path.split(path)
>>>(" E:\\pythonPro\\mytest","test.py")
同理,如果path = E:\\pythonPro\\mytest,那么对path使用split方法:
>>>os.path.split(path)
>>>("E:\\pythonPro","mytest")
那么对于dirname方法,就可以用来获取文件的父目录,或者文件夹的上一个目录了
当path= E:\\pythonPro\\mytest\\test.py时:
>>>os.path.dirname(path)
>>>E:\\pythonPro\\mytest
当path = E:\\pythonPro\\mytest时:
>>>os.path.dirname(path)
>>>E:\\pythonPro
与dirname相反的是basename方法,该方法返回split方法的第二个元素
当path= E:\\pythonPro\\mytest\\test.py时:
>>>os.path.basename(path)
>>>test.py
当path = E:\\pythonPro\\mytest时:
>>>os.path.basename(path)
>>>mytest
接下来就是连接路径了,使用join方法可以实现,比如有path1=E:\\pythonPro\\mytest,path2=test.py,那么:
>>>os.path.join(path1, path2)
>>>E:\\pythonPro\\mytest\\test.py
对于文件夹路径合并一样,path1=E:\\pythonPro, path2=mytest:
>>>os.path.join(path1, path2)
>>>E:\\pythonPro\\mytest