这里主要记录下os.path.join()的用法spa
目录结构以下code
在readconfig.py中进行试验,以下blog
import os
print(os.path.realpath(__file__))
运行结果it
E:\Crawler\common\readconfig.py 运行结果显示 “路径+文件名”
在上一步的基础上运用split方法
1. print(os.path.split(os.path.realpath(__file__)))
或者直接使用绝对路径看的更清楚些
2. print(os.path.split('E:\Crawler\common\\readconfig.py'))
那么若是只取目录的话,以下
3. print(os.path.split(os.path.realpath(__file__))[0])
运行结果class
一、2的结果 ('E:\\Crawler\\common', 'readconfig.py') 3的结果 E:\Crawler\common
print(os.path.abspath('.'))
运行结果import
E:\Crawler\common
1. print(os.path.dirname('E:\Crawler\common\\readconfig.py'))
结果:E:\Crawler\common
2. print(os.path.dirname('E:\Crawler\common'))
结果:E:\Crawler
因此 os.path.dirname(os.path.abspath('.')) 表示获取当前文件所在目录的上一级目录,即项目所在目录E:\Crawler
结果:E:\Crawler
所谓第一个绝对路径,是从“尾部向头部读,所获得的第一个绝对路径”,以 “\” 为标识基础
print(os.path.join('E:\Crawler', "config.ini"))
结果:E:\Crawler\config.ini
print(os.path.join('E:\Crawler', 'D:\\aa', "config.ini"))
结果:D:\aa\config.ini
print(os.path.join('/home/mnt','/home/mnt/attach','/home/a/b/c'))
结果:/home/a/b/c
print(os.path.join('/local', '\\aa', "/config.ini"))
结果:/config.ini