os.path.abspath(file)
- __file__指的是当前脚本及绝对路径,比如D:\Anne\test\pythonLearn\osDemo.py。 通过调用 file 属性输出的绝对路径,我们可以很轻易地找到该模块(或包)的源文件。注意,并不是所有模块都提供 file 属性,因为并不是所有模块的实现都采用 Python 语言,有些模块采用的是其它编程语言(如 C 语言)。
- os.path.dirname(file) 返回当前脚本的绝对路径
- 不可以直接在命令行(cmd)运行print(os.path.abspath(file)), 否则会报错 “NameError: name ‘file’ is not defined”
- 可编写python文件直接运行或者调用
- 示例代码如下:
import os
# 返回当前脚本的绝对路径D:\Anne\test\pythonLearn\osDemo.py
print (os.path.abspath(__file__))
os.path.dirname(file)
- os.path.dirname(path) 返回path的父路径
- 可嵌套使用,如 os.path.dirname(os.path.dirname(path) ) 返回父路径的父路径
- 示例代码如下:
import os
#当前脚本绝对路径D:\Anne\test\pythonLearn\osDemo.py
#下命令返回当前脚本父路径D:/Anne/test/pythonLearn
print (os.path.dirname(__file__))
#返回当前脚本父路径的父路径D:/Anne/test
print (os.path.dirname(os.path.dirname(__file__)))
#返回当前脚本父路径的绝对路径D:\Anne\test\pythonLearn
print (os.path.abspath(os.path.dirname(__file__)))
#在pythonLearn文件夹下创建子文件夹proc,并加到sys.path里,让python解析器可以去该路径下搜索代码D:\Anne\test\pythonLearn/proc/
print (sys.path.append(os.path.abspath(os.path.dirname(__file__)) + '/proc/')
os.path.basename(file)
示例代码
#os.path.basename(_file_) 返回当前脚本的文件名称osDemo.py
print (os.path.basename(__file__))