博客
关于我
python中的os.path.dirname与os.path.dirname(__file__)的用法
阅读量:691 次
发布时间:2019-03-17

本文共 1218 字,大约阅读时间需要 4 分钟。

Python os.path.dirname 函数详解

在 Python 开发过程中,os.path dirname 函数是一个非常实用的工具。它能够有效地去除文件名,返回文件的完整路径。此外,该函数还可以用于处理文件路径,并获取文件的上层目录信息。在实际编程中,了解 dirname 函数的使用方法至关重要,能够帮助开发者更高效地处理文件路径问题。

dirname 功能说明

os.path.dirname(path) 的主要作用为:去除文件名,返回文件的父目录路径。该函数可以处理绝对路径和相对路径,输出结果也是基于输入路径的类型而定。

举例说明:

  • 对于路径 W:\Python_File\juan之购物车.py,执行 os.path.dirname((路径)) 将返回 W:\Python_File,去除了具体文件名 juan之购物车.py
  • 对于仅包含文件名的路径 W:\Python_File,调用 os.path.dirname((路径)) 会直接返回 W:\(表示根目录)。

二、os.path.dirname(__file__) 的实际应用

在实际项目开发中,使用 os.path.dirname(__file__) 可以帮助开发者快速获取文件的相对路径信息。该函数特别适用于以下两种场景:

(1) 全部使用完整路径运行脚本

当脚本以完整路径运行时(例如:python d:/pythonSrc/test/test.py),调用 print(os.path.dirname(__file__)) 将输出当前脚本的完整路径,具体为所在文件夹的路径。例如:

d:/pythonSrc/test/test.py输出结果:d:/pythonSrc/test

这种情况下,函数返回的是脚本所在文件夹的完整路径,便于开发者快速定位当前脚本的位置。

(2) 使用相对路径运行脚本

如果脚本以相对路径运行(例如:python test.py),则调用 print(os.path.dirname(__file__)) 将直接输出 "/" 或者空字符串。例如:

python test.py输出结果:/

这种情况下,函数返回的是当前工作目录的根目录路径。

(3) 混合使用完整路径和相对路径

在某些实际场景中,脚本可能由混合使用了完整路径和相对路径来执行。例如,用户可能在项目根目录下运行以下命令:

python -m myproject

此时,__file__ 将指向当前脚本的文件路径,调用 os.path.dirname(__file__) 将返回当前脚本所在文件夹的路径。

总结

综上所述,os.path.dirname(path) 是一个非常实用的工具,能够有效去除文件名并返回父目录路径。无论是处理绝对路径还是相对路径,该函数都能提供正确的路径信息。在实际编程中,合理利用 dirname 函数能够节省大量时间,提升开发效率。

转载地址:http://qjqhz.baihongyu.com/

你可能感兴趣的文章
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0081---编解码器和处理器链梳理
查看>>
Netty工作笔记0083---通过自定义协议解决粘包拆包问题1
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty工作笔记0085---TCP粘包拆包内容梳理
查看>>
Netty常用组件一
查看>>
Netty常见组件二
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty心跳检测
查看>>
Netty心跳检测机制
查看>>
netty既做服务端又做客户端_网易新闻客户端广告怎么做
查看>>
Netty核心模块组件
查看>>
Netty框架内的宝藏:ByteBuf
查看>>
Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
查看>>
Netty源码—1.服务端启动流程一
查看>>
Netty源码—1.服务端启动流程二
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—2.Reactor线程模型二
查看>>
Netty源码—3.Reactor线程模型三
查看>>
Netty源码—3.Reactor线程模型四
查看>>