python文件路径的基本操作

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

你可能感兴趣的:(python,路径,os.path,python)