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获取文件所在目录完整路径的资料请关注脚本之家其它相关文章!

相关文章

  • Pandas中Series的属性,方法,常用操作使用案例

    Pandas中Series的属性,方法,常用操作使用案例

    这篇文章主要介绍了Pandas中Series的属性,方法,常用操作使用案例,文章通过包的引入展开主题,需要的朋友可以参考一下
    2022-07-07
  • Django Rest framework三种分页方式详解

    Django Rest framework三种分页方式详解

    这篇文章主要介绍了Django Rest framework三种分页方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python实现多线程下载脚本的示例代码

    Python实现多线程下载脚本的示例代码

    这篇文章主要介绍了Python实现多线程下载脚本的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python Pywinauto轻松实现Windows桌面自动化详解

    Python Pywinauto轻松实现Windows桌面自动化详解

    pywinauto这个Python库可以让你像魔法师一样操控Windows GUI,轻松模拟鼠标键盘操作,自动化Notepad,Excel甚至企业级软件,下面小编就来和大家详细介绍一下它的使用吧
    2025-05-05
  • Python实现从订阅源下载图片的方法

    Python实现从订阅源下载图片的方法

    这篇文章主要介绍了Python实现从订阅源下载图片的方法,涉及Python采集的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Python Pandas高级教程之时间处理

    Python Pandas高级教程之时间处理

    我们发现关于时间日期的简单计算很多功能都是datetime库提供的,那么pandas有没有提供跟日期时间有关的函数,通过下面文章来了解下,这篇文章主要给大家介绍了关于Python Pandas高级教程之时间处理的相关资料,需要的朋友可以参考下
    2021-10-10
  • Linux环境下的Python打包和部署实践

    Linux环境下的Python打包和部署实践

    这篇文章主要介绍了Linux环境下的Python打包和部署实践的相关资料,需要的朋友可以参考下
    2023-11-11
  • 在 Python 中如何使用 Re 模块的正则表达式通配符

    在 Python 中如何使用 Re 模块的正则表达式通配符

    这篇文章主要介绍了在 Python 中如何使用 Re 模块的正则表达式通配符,本文详细解释了如何在 Python 中使用带有通配符的 re.sub() 来匹配字符串与正则表达式,需要的朋友可以参考下
    2023-06-06
  • Python性能测试工具Locust安装及使用

    Python性能测试工具Locust安装及使用

    这篇文章主要介绍了Python性能测试工具Locust安装及使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • python集成环境一键部署全过程

    python集成环境一键部署全过程

    这篇文章主要介绍了python集成环境一键部署全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-08-08

最新评论