os.path.dirname(__file__)使用

该测试脚本所在的位置:D:\第1层\第2层\第3层\第4层\第5层\test11.py

test11.py

  1. import os
  2. #该文件所在位置:D:\第1层\第2层\第3层\第4层\第5层\test11.py
  3. path1 = os.path.dirname(__file__)
  4. print(path1)#获取当前运行脚本的绝对路径
  5. path2 = os.path.dirname(os.path.dirname(__file__)) #
  6. print(path2)#获取当前运行脚本的绝对路径(去掉最后一个路径)
  7. path3 = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
  8. print(path3)#获取当前运行脚本的绝对路径(去掉最后2个路径)
  9. path4 = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
  10. print(path4)#获取当前运行脚本的绝对路径(去掉最后3个路径)
  11. path5 = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))))
  12. print(path5)#获取当前运行脚本的绝对路径(去掉最后4个路径)
  13. path6 = os.__file__                  #获取os所在的目录
  14. print(path6)

结果:

  1. C:\Python352\python.exe D:/第1层/第2层/第3层/第4层/第5层/test11.py
  2. D:/第1层/第2层/第3层/第4层/第5层
  3. D:/第1层/第2层/第3层/第4层
  4. D:/第1层/第2层/第3层
  5. D:/第1层/第2层
  6. D:/第1层
  7. C:\Python352\lib\os.py
  8. Process finished with exit code 0

解释:

http://blog.csdn.net/u011760056/article/details/46969883

os.path.dirname(__file__)返回脚本的路径,但是需要注意一下几点:

  • 必须是实际存在的.py文件,如果在命令行执行,则会引发异常NameError: name '__file__' is not defined;
  • 在运行的时候如果输入完整的执行的路径,则返回.py文件的全路径如:Python c:/test/test.py 则返回路径 c:/test ,如果是python test.py 则返回空;
  • 结合os.path.abspath用,效果会好,如果大家看过一些python架构的代码的话,会发现经常有这样的组合:os.path.dirname(os.path.abspath(__file__)),os.path.abspath(__file__)返回的是.py文件的绝对路径。

这就是os.path.dirname(__file__)的用法,其主要总结起来有:

  • 不要在命令行的形式来进行os.path.dirname(__file__)这种形式来使用这个函数;
  • 结合os.path.abspath()使用

os.path.dirname(__file__)使用的更多相关文章

  1. python中os.path.dirname(__file__) 命令行 参数没有绝对路径导致数据库找不到

    (1).当"print os.path.dirname(__file__)"所在脚本是以完整路径被运行的, 那么将输出该脚本所在的完整路径,比如: python d:/python ...

  2. python中的os.path.dirname(__file__)的使用

    在编程时,我们要获取当前文件所在的路径,以适合所有的工程,建立相对路径. python的os.path.dirname(__file__)非常好用,建议大家使用: import os FILE = o ...

  3. Python os.path.dirname(__file__) 与 Python os.path.abspath(__file__) 与 os.system() 函数

    Python  os.path.dirname(__file__) 与 Python os.path.abspath(__file__) 的区别 os.path.abspath(__file__)返回 ...

  4. 转: Python中的os.path.dirname(__file__)

     (1).当"print os.path.dirname(__file__)"所在脚本是以完整路径被运行的, 那么将输出该脚本所在的完整路径,比如:                 ...

  5. Python os.path.dirname(__file__) os.path.join(str,str)

    Python os.path.dirname(__file__) Python os.path.join(str,str)   (1).当"print os.path.dirname(__f ...

  6. Python——os.path.dirname(__file__) 与 os.path.join(str,str)

    Python os.path.dirname(__file__) Python os.path.join(str,str)   (1).当"print os.path.dirname(__f ...

  7. python中的os.path.dirname与os.path.dirname(__file__)的用法

    python中的os.path.dirname的用法 os.path.dirname(path) 语法:os.path.dirname(path) 功能:去掉文件名,返回目录 如: print(os. ...

  8. os.path.dirname(__file__)

    os.path.dirname(__file__) 返回脚本的路径 描述: 必须实际存在的.py文件,如果直接在命令行执行,则会引发异常NameError: name 'file' is not de ...

  9. os.path.dirname(__file__)使用、Python os.path.abspath(__file__)使用

    python中的os.path.dirname(__file__)的使用 - CSDN博客https://blog.csdn.net/u011760056/article/details/469698 ...

随机推荐

  1. 从INT_MAX和INT_MIN看补码

    刷一道题的时候遇到INT_MAX和INT_MIN的问题,有些东西忘了,梳理一下. INT_MAX为2147483647,INT_MIN为-2147483648,为什么MIN的绝对值比MAX多1呢,因为 ...

  2. 仿阿里云后台管理界面模板html源码——后台

    链接:http://pan.baidu.com/s/1nuH2SPj 密码:ar8o

  3. 二进制、十进制、十六进制(python)

    int(“x”,base=2/8/16)是把x都转换成十进制 二进制: 1111=1*2的3次方+1*2的2次方+1*2的1次方+1*2的0次方  =8+4+2+1=15 1000=1*2的3次方+0 ...

  4. RAID总结

    RAID-0: 这种模式若使用相同型号容量的磁盘来组成效果最佳.这种模式RAID会先将磁盘切出等量的区块chunk,当文件要存入RAID时先按照chunk的大小切割好,再依次存放到各个磁盘中去,由于磁 ...

  5. juery下拉刷新,div加载更多元素并添加点击事件(二)

    buffer.append("<div class='col-xs-3 "+companyId+"' style='padding-left: 10px; padd ...

  6. NEERC2012

    NEERC2012 A - Addictive Bubbles 题目描述:有一个\(n \times m\)的棋盘,还有不同颜色的棋子若干个,每次可以消去一个同种颜色的联通块,得到的分数为联通块中的棋 ...

  7. URAL题解二

    URAL题解二 URAL 1082 题目描述:输出程序的输入数据,使得程序输出"Beutiful Vasilisa" solution 一开始只看程序的核心部分,发现是求快排的比较 ...

  8. Maven核心概念

    一.坐标 在平面几何中,坐标(x,y)可以标识平面中唯一的一个点.在maven中,坐标是为了定位一个唯一确定的jar包.Maven世界拥有大量构建,我们需要找一个用来唯一标识一个构建的统一规范:拥有了 ...

  9. 百度2017春招<度度熊回家问题>

    题目: 一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家.现在他需要依次的从0号坐标走到N-1号坐标.但是除了0号坐标和N-1号坐标,他可以在其余的N-2个坐标中选出一个 ...

  10. IT行业经典面试技巧及方法思路。

    问题1:为什么从上家公司离职?”能说说原因吗? 首先,作为一个从事招聘的HR,并不认为追问面试者为什么从上一家公司离职是个明智的做法起码不应该在面试一开始就抛出这个问题,一个较为明显的原因是因为这会引 ...