os模块的使用
os.path
import os # os.path.dirname(__file__)返回的是.py文件的目录 path1 = os.path.dirname(__file__) print(path1) # os.path.abspath(__file__)返回的是.py文件的绝对路径(完整路径) path2 = os.path.abspath(__file__) print(path2) # 组合使用 path3 = os.path.dirname(os.path.abspath(__file__)) print(path3) # os.path.join()拼接路径 path4 = os.path.join(os.path.dirname(os.path.abspath(__file__)), '1.py') print(path4) path5 = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'databases', 'GeoLite2-City.mmdb') print(path5) path6 = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'databases', 'GeoLite2-City.mmdb') print(path6)
结果
C:/Users/A/Documents/Python Scripts
C:\Users\A\Documents\Python Scripts\os_test.py
C:\Users\A\Documents\Python Scripts
C:\Users\A\Documents\Python Scripts\1.py
C:\Users\A\Documents\Python Scripts\databases\GeoLite2-City.mmdb
C:\Users\A\Documents\Python Scripts\databases\GeoLite2-City.mmdb
- os.path.dirname(file)返回的是.py文件的目录
- os.path.abspath(file)返回的是.py文件的绝对路径(完整路径)
- os.path.dirname(os.path.abspath(file))组合使用,如果大家看过一些python架构的代码的话,会发现经常有这样的组合
- os.path.join()进行路径拼接,将文件名拼接在原目录下
- os.path.join()进行路径拼接,将原目录下的其他目录下的文件拼接在后面
- dirname和abspath顺序颠倒,不影响路径结果