Python怎么获取当前路径?,python获取路径方法?

在 Python 中获取当前路径的完整指南

在 Python 开发中,获取“当前路径”通常有两种不同的含义:一种是当前工作目录(Current Working Directory),另一种是当前脚本文件所在的目录(Script Directory),这两者在运行方式不同时(例如在 IDE 中运行与在命令行中运行)可能会指向不同的位置。

获取当前工作目录 (CWD)

工作目录是指 Python 解释器当前正在运行的文件夹,如果你在终端中 cd 到某个文件夹并运行脚本,该文件夹就是工作目录。

[30] Python文件路径 | 文件在哪里,代码咋知道
加载中
[30] Python文件路径 | 文件在哪里,代码咋知道

使用 os 模块(传统方法)

  • 代码实现
    import os
    cwd = os.getcwd()
    print(f"当前工作目录是: {cwd}")
  • 特点:简单直接,兼容所有 Python 版本。

使用 pathlib 模块(现代方法,推荐)

  • 代码实现

    Python怎么获取当前路径?,python获取路径方法?

    from pathlib import Path cwd = Path.cwd() print(f"当前工作目录是: {cwd}")
  • 特点:面向对象,路径操作更直观,是 Python 3.4+ 的标准推荐方式。

获取当前脚本文件所在的目录

无论你在哪个目录下启动程序,如果你想获取代码文件本身存放的位置(例如为了读取同级目录下的配置文件),应该使用 __file__ 变量。

使用 os 模块

  • 代码实现
    import os
    # 获取当前脚本的绝对路径
    script_path = os.path.abspath(__file__)
    # 获取脚本所在的文件夹目录
    script_dir = os.path.dirname(script_path)
    print(f"脚本文件所在目录: {script_dir}")

使用 pathlib 模块(推荐)

  • 代码实现
    from pathlib import Path
    # .resolve() 用于获取绝对路径,.parent 获取父级目录
    script_dir = Path(__file__).resolve().parent
    print(f"脚本文件所在目录: {script_dir}")

    Python怎么获取当前路径?,python获取路径方法?


核心区别对比

为了防止混淆,请参考下表选择合适的方法:

需求场景 推荐方法 关键点
获取用户执行命令时的位置 Path.cwd()os.getcwd() 随启动位置而改变
获取代码文件存放的位置 Path(__file__).resolve().parent 随文件存放位置而改变
拼接路径(如读取配置) script_dir / "config.ini"

Python怎么获取当前路径?,python获取路径方法?

建议使用 pathlib 的 运算符

常见应用场景:构建绝对路径

在实际项目中,最常见的做法是基于脚本目录构建绝对路径,以避免因启动位置不同而导致的文件找不到(FileNotFoundError)错误。

  • 最佳实践代码

    from pathlib import Path
    # 1. 定位到项目根目录
    BASE_DIR = Path(__file__).resolve().parent
    # 2. 拼接子文件夹中的文件路径
    config_path = BASE_DIR / "config" / "settings.json"
    print(f"配置文件的绝对路径为: {config_path}")

重点总结

  • 如果需要知道“我在哪里运行这个程序” $rightarrow$ 使用 Path.cwd()
  • 如果需要知道“这个代码文件放在哪里” $rightarrow$ 使用 Path(__file__)

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/487936.html

(0)
jquery ui cdn怎么用,jquery ui cdn链接
上一篇 2026年7月12日 17:22
Linux如何删除驱动?,Linux卸载驱动的命令有哪些?
下一篇 2026年7月12日 17:23

相关推荐

  • 服务器建站怎么不能访问?网站无法访问的常见原因排查

    服务器建站完成后无法访问,核心原因通常归结为三大维度:网络连通性阻断、服务器环境配置错误、以及域名解析异常,在排查问题时,应遵循从物理层到应用层、由外而内的诊断逻辑,优先检查端口与防火墙设置,其次排查Web服务状态,最后确认域名解析是否生效,这种分层排查策略能最高效地定位并解决服务器建站怎么不能访问的棘手问题……

    2026年3月28日
    9500
  • 服务器硬件试验有什么要求?服务器测试标准规范指南

    构建企业数字基石的可靠保障在数字化浪潮的核心,服务器硬件承载着企业关键业务与海量数据,一次意外的硬件故障,可能导致业务中断、数据丢失,甚至引发难以估量的声誉与经济损失,服务器硬件试验及标准体系,正是保障这一基石稳定、可靠、高效运行的科学防线与质量准绳, 服务器硬件试验:卓越性能与可靠性的科学验证硬件试验绝非简单……

    2026年2月7日
    12300
  • 服务器怎么从新重启?服务器重启的正确步骤是什么

    服务器重启是运维管理中解决系统无响应、应用服务异常或完成内核更新的关键手段,核心结论在于:必须根据服务器的操作系统类型(Windows或Linux)及当前运行状态,选择最恰当的重启方式,并严格执行“先通知后操作、先软后硬”的原则,以最大程度保障数据安全与业务连续性, 重启前的关键准备工作直接切断电源或盲目重启是……

    2026年3月22日
    11100
  • 个人信息数据库怎么设计?个人信息数据库设计模板

    个人信息数据库设计的核心在于平衡数据安全性与查询效率,通过合理的范式拆分、索引优化及权限隔离,构建既符合合规要求又能支撑高并发业务的底层架构,在数字化时代,个人信息不仅是用户资产,更是企业合规运营的底线,许多开发者在初期往往忽视数据库设计的严谨性,导致后期面临数据泄露风险或性能瓶颈,一个优秀的个人信息数据库,不……

    2026年6月14日
    2500
  • 个人数据可视化软件哪个好用?免费好用的数据可视化工具推荐

    个人数据可视化软件的核心价值在于将杂乱的生活记录转化为可执行的行动指南,推荐优先选择支持本地存储且具备自动化标签功能的工具,以兼顾隐私安全与使用效率,在数字化生存的今天,我们每天产生的数据量远超想象,从微信运动步数到银行流水,从健康手环的心率记录到购物平台的消费明细,这些碎片化信息构成了我们的数字生活轨迹,面对……

    2026年5月29日
    3800
  • 服务器常用系统有哪些,Windows和Linux哪个更适合做服务器

    在服务器运维与架构选型中,系统的稳定性、安全性以及长期维护成本是决定业务成败的关键因素,综合来看,Linux发行版(特别是CentOS Stream、Ubuntu LTS与Debian)占据了绝对的市场主导地位,而Windows Server则凭借其图形化界面与生态壁垒,在特定应用场景中不可或缺,企业在进行{服……

    2026年3月31日
    7900
  • 服务器工作站兼容程序到底是什么程序,服务器兼容模式怎么设置

    服务器工作站兼容程序本质上是一种底层的硬件抽象层中间件与系统级驱动增强套件的集合,其核心作用在于消除服务器硬件与普通操作系统或应用软件之间的指令集隔阂,确保企业级硬件在非原生环境中仍能发挥最大效能,它既不是简单的驱动安装包,也不是虚拟机,而是一套能够重新定义硬件资源调度逻辑的权威性软件解决方案,对于追求高性能计……

    2026年4月8日
    7500
  • python setvalue怎么用?python setvalue设置值报错怎么解决

    在 Python 中,setvalue 并不是一个内置的标准函数或方法,根据上下文,setvalue 可能出现在以下几种常见场景中:自定义函数或类方法很多开发者会自己定义一个名为 setvalue 的方法,用于设置某个对象的属性值,class MyClass: def __init__(self): self……

    2026年7月10日
    12200
  • 服务器更换硬盘后怎么转换格式,换硬盘后数据怎么迁移?

    服务器硬盘升级不仅是硬件的物理替换,更涉及数据迁移、分区格式转换及系统引导适配的复杂过程,核心结论: 只有在确保数据绝对安全备份的前提下,通过规范的RAID重建流程,并正确执行从MBR向GPT的分区转换,才能实现服务器更换硬盘后的平滑过渡与性能最大化,这一过程要求管理员具备严谨的操作逻辑,对文件系统架构有深刻理……

    2026年2月23日
    14800
  • 高科技智能教育让我打开新世界,智能教育哪个平台好?

    高科技智能教育让我打开新世界,其核心在于通过AI自适应学习与多模态交互技术,彻底打破传统教育的时空与资源壁垒,实现从“千人一面”到“精准滴灌”的个性化认知跃迁,破局:为何传统模式难以突破?传统教育的痛点解析过去,我们常陷入“题海战术”与“被动灌输”的泥沼,一个教师面对数十名学生,知识吸收率参差不齐,这种模式下……

    2026年5月1日
    5100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注