os.path 模块主要用于获取文件的属性。其中显示路径方法有多种:
abspath(path)
abspath() 方法会返回path参数的绝对路径,path需要用引号包括,如果需要返回当前目录的绝对路径则可以写为:
os.path.abspath('')
如果path不仅包括路径还包括文件名,则返回值为绝对路径加上文件名,如果想返回当前脚本的路径,可以写为:
os.path.abspath(__file__)
realpath()
realpath(path)方法返回path参数的真实路径,它在大部分时候与abspath()方法的返回结果是一样的,但是如果所在路径或者文件是通过软链连接的,这realpath会返回软链的真实路径,abspath()返回的则是软链路径。
dirname(path)
dirname(path)方法,参数 path可以是一个路径,或者一个包含路径的文件名,所返回的值是到path路径中最后一个’/'之前的部分,例如:
print(os.path.dirname('/home/user/test'))
print(os.path.dirname('/home/user/test/'))
print(os.path.dirname('/home/user/test/test.py'))
所得到的结果分别为:
>/home/user
>/home/user/test
>/home/user/test
如果是dirname(_file_)则返回当前脚本所在的文件路径。与realpath(_file_)和abspath(_file_)不同的是,后两者返回的值除了文件路径还包括文件名。
basename(path)
basename(path)方法返回文件名,它的功能与dirname(path)正好相反,返回path路径中最后一个’/'之后的部分,例如:
print(os.path.basename('/home/user/test'))
print(os.path.basename('/home/user/test/'))
print(os.path.basename('/home/user/test/test.py'))
所得到的结果分别为:
>test
>
>test.py
注意,第二个语句返回空白,因为最后一个’/'之后没有内容,如果path参数不包含路径,仅仅是文件名本身,则返回文件名本身。
os.getcwd()
除了path模块中上面介绍的有关路径属性的方法外,os模块中还有一个getcwd()方法可以用来获取当前工作的目录。