这里主要记录下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的目录

. 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

目前用到的一些os.path方法的更多相关文章

  1. 18 os/os.path模块中关于文件/目录常用的函数使用方法 (转)

    os模块中关于文件/目录常用的函数使用方法 函数名 使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.') 列举指定目录中的文件名('. ...

  2. os、os.path模块(文件/目录方法)

    1.模块的概念:模块是一个包含所有定义的变量.函数的文件,模块可以被其余模块调用. 2.利用OS模块实现对系统文件的. os模块中常见的方法: gercwd()     返回当前工作目录 chdir( ...

  3. python3 os.path.realpath(__file__) 和 os.path.cwd() 方法的区别

    python3 os.path.realpath(__file__) 和 os.path.cwd() 方法的区别 os.path.realpath 获取当前执行脚本的绝对路径. os.path.rea ...

  4. 【Python】os.path.isfile()的使用方法汇总

    方法一: # -*- coding:utf-8 -*- import os import sys from uiautomator import device as d filepath = r'E: ...

  5. Python join() 方法与os.path.join()的区别

    Python join() 方法与os.path.join()的区别 pythonJoinos.path.join 今天工作中用到python的join方法,有点分不太清楚join() 方法与os.p ...

  6. os、os.path模块中关于文件、目录常用的函数使用方法

    os模块中关于文件/目录常用的函数使用方法 函数名 使用方法   getcwd()   返回当前工作目录   chdir(path)   改变工作目录   listdir(path='.')   列举 ...

  7. python编程os、os.path 模块中关于文件、目录常用的函数使用方法

    os模块中关于文件/目录常用的函数使用方法   函数名 使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.') 列举指定目录中的文件名( ...

  8. python—— 文件的打开模式和文件对象方法 & os、os.path 模块中关于文件、目录常用的函数使用方法

    引用自“鱼c工作室”     文件的打开模式和文件对象方法  : https://fishc.com.cn/forum.php?mod=viewthread&tid=45279&ext ...

  9. os.path.dirname使用方法

    import os path1=os.path.abspath(__file__) print(path1)#当前文件的绝对路径 path2=os.path.dirname(os.path.abspa ...

随机推荐

  1. 03:git常见报错解决方法

    1.1 git常见报错解决方法 1.warning: LF will be replaced by CRLF in .idea/workspace.xml. 参考博客:https://www.cnbl ...

  2. bzoj 4445 小凸想跑步 - 半平面交

    题目传送门 vjudge的快速通道 bzoj的快速通道 题目大意 问在一个凸多边形内找一个点,连接这个点和所有顶点,使得与0号顶点,1号顶点构成的三角形是最小的概率. 假设点的位置是$(x, y)$, ...

  3. centos7 install rabbtimq

    yum install deltarpm erlang wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.8/rabbitmq- ...

  4. css3-动画(animation)

    css3-动画(animation): 具有以下属性: 1.animation-name 自定义动画名称 2.animation-duration 动画指定需要多少秒或毫秒完成,默认值是0; 3.an ...

  5. PreparedStatement与Statement区别

    就这牛客网的一道题,进行分析PreparedStatement与Statement的区别. 题目: 关于PreparedStatement与Statement描述错误的是() A 一般而言,Prepa ...

  6. 2018年11月10日 input,print,pass 用法,条件语句+字符串

    name=input('请输入用户名')#永远等待用户输入 password=input('请输入密码') print(name) print(password) 变量定义的规则: 变量名只能是 字母 ...

  7. 对象new和不new的理解

    1.现象 在一个线程类[QObject]中声明一个对象QTimer,[不new,直接声明],在槽函数中timer.start() 报警告:不能跨线程调用对象 2.分析 不使用new的方式,直接A a; ...

  8. Python3 tkinter基础 Canvas bind 鼠标左键点击时,在当前位置画椭圆形

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  9. Python3基础 list append 向尾部添加一个元素

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  10. <Python>判断变量是否是DataFrame 或者 Series

    https://stackoverflow.com/questions/14808945/check-if-variable-is-dataframe Use the built-in isinsta ...