目前用到的一些os.path方法

这里主要记录下os.path.join()的用法

目录结构如下

在readconfig.py中进行试验,如下

1.使用os.path.realpath(__file__)获取文件所在目录

import os

print(os.path.realpath(__file__))

运行结果

E:\Crawler\common\readconfig.py  运行结果显示 “路径+文件名”

2. os.path.split(path),将path分割成目录和文件名二元组返回

在上一步的基础上运用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])

运行结果

1、2的结果 ('E:\\Crawler\\common', 'readconfig.py')
3的结果    E:\Crawler\common

3.os.path.abspath('.'), 获取当前文件所在路径

print(os.path.abspath('.'))

运行结果

E:\Crawler\common

4.os.path.dirname(path),返回path的目录

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

5.os.path.join(), 用于路径拼接,将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

所谓第一个绝对路径,是从“尾部向头部读,所得到的第一个绝对路径”,以 “\” 为标识

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

 

posted @ 2018-10-26 16:58  我是冰霜  阅读(2379)  评论(0编辑  收藏  举报