Python获取当前文件所在目录完整路径的代码实现

 更新时间:2025年06月23日 11:10:11   作者:1010n111  
在Python编程中,有时需要获取当前文件所在目录的完整路径,比如在读取配置文件、加载数据文件时,需要基于当前文件的位置来确定文件的相对路径,然而,实现这一功能会因Python版本和运行环境的不同而有所差异,本文小编给大家详细介绍了获取方法,需要的朋友可以参考下

Python获取当前文件所在目录的完整路径

实现步骤

Python 3

使用pathlib模块

  • 获取脚本所在目录
import pathlib
path = pathlib.Path(__file__).parent.resolve()
print(path)
  • 获取当前工作目录
import pathlib
path = pathlib.Path().resolve()
print(path)

Python 2和3通用

使用os.path模块

  • 获取脚本所在目录
import os
path = os.path.dirname(os.path.abspath(__file__))
print(path)
  • 获取当前工作目录
import os
path = os.path.abspath(os.getcwd())
print(path)

Jupyter Notebook环境

在Jupyter Notebook中,__file__变量无法返回预期值,可以使用以下方法:

from pathlib import Path
path = Path().absolute()
print(path)

核心代码

Python 3使用pathlib获取脚本所在目录

from pathlib import Path
path = Path(__file__).parent.absolute()
print(path)

Python 2和3通用使用os.path获取脚本所在目录

import os
path = os.path.dirname(os.path.abspath(__file__))
print(path)

最佳实践

  • 使用pathlib模块:在Python 3中,推荐使用pathlib模块,它提供了面向对象的路径操作方式,代码更简洁易读。
  • 处理__file__未定义的情况:在交互式环境或从非文件资源加载代码时,__file__可能未定义,需要进行相应的错误处理。

常见问题

  • __file__未定义:在交互式环境中运行Python代码时,__file__变量未定义,会引发NameError。可以通过判断是否在交互式环境中来避免使用__file__。
  • 路径分隔符问题:在不同操作系统中,路径分隔符不同(Windows使用\,Linux和macOS使用/)。使用os.path或pathlib模块可以自动处理路径分隔符问题。

以上就是Python获取当前文件所在目录完整路径的代码实现的详细内容,更多关于Python获取文件所在目录完整路径的资料请关注脚本之家其它相关文章!

相关文章

  • 深入理解Django的信号机制

    深入理解Django的信号机制

    本文主要介绍了深入理解Django的信号机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python统计列表中元素出现次数的三种方法

    python统计列表中元素出现次数的三种方法

    这篇文章主要介绍了python统计列表中元素出现次数的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧
    2024-08-08
  • 如何将Python脚本打包成exe应用程序介绍

    如何将Python脚本打包成exe应用程序介绍

    大家好,本篇文章主要讲的是如何将Python脚本打包成exe应用程序介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • 可能是史上最细的python中import详解

    可能是史上最细的python中import详解

    import在python中的意思是用来调用模块的,下面这篇文章主要给大家介绍了关于python中import详解的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • Python Flask框架扩展操作示例

    Python Flask框架扩展操作示例

    这篇文章主要介绍了Python Flask框架扩展操作,结合实例形式分析了Python Flask-Script扩展命令行操作实现方法,需要的朋友可以参考下
    2019-05-05
  • Pandas读取MySQL数据到DataFrame的方法

    Pandas读取MySQL数据到DataFrame的方法

    今天小编就为大家分享一篇Pandas读取MySQL数据到DataFrame的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 对于Python编程中一些重用与缩减的建议

    对于Python编程中一些重用与缩减的建议

    这篇文章主要介绍了对于Python编程中一些重用与缩减的建议,来自于IBM官方技术文档,需要的朋友可以参考下
    2015-04-04
  • python环境功能强大的pip-audit安全漏洞扫描工具

    python环境功能强大的pip-audit安全漏洞扫描工具

    这篇文章主要为大家介绍了python环境中功能强大的pip-audit安全漏洞扫描工具的功能介绍及安装使用说明,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-02-02
  • python一秒搭建FTP服务器

    python一秒搭建FTP服务器

    今天给大家分享一篇教程关于python一秒搭建FTP服务器的教程,在搭建过程中需要用到pyftpdlib模块,对python FTP服务器搭建过程感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • Python的re模块正则表达式操作

    Python的re模块正则表达式操作

    这篇文章主要介绍了Python的re模块正则表达式操作 的相关资料,需要的朋友可以参考下
    2016-05-05

最新评论