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://test.idctop.com/article/487936.html

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

相关推荐

  • 服务器开放端口号怎么操作?服务器端口开启详细教程

    服务器开放端口号是保障网络服务可用性与系统安全性的核心操作,其本质是在服务器防火墙与安全组策略中建立一条受控的通信通道,核心结论在于:开放端口绝非简单的“打洞”操作,而是一项遵循“最小权限原则”的系统工程,必须通过“服务部署—防火墙配置—安全组设置—权限收敛—验证测试”的标准化流程来完成,任何环节的疏忽都可能导……

    2026年3月27日
    9800
  • 个人如何使用主机?个人云服务器怎么搭建网站

    个人用户只需根据用途选择VPS或云服务器,通过SSH连接或控制面板安装系统,即可实现建站、跑代码或搭建私人云盘,无需具备深厚运维背景,明确需求:选对主机类型是关键在着手购买之前,绝大多数新手容易陷入“配置越高越好”的误区,个人使用主机的场景差异巨大,错误的选择会导致资源浪费或性能瓶颈,业内专家指出,匹配场景比单……

    2026年6月2日
    3200
  • Palo Alto防火墙,性能卓越,但有哪些潜在问题或不足之处?

    在网络安全领域,Palo Alto Networks防火墙通过其独有的Single-Pass架构和深度集成云安全能力,实现了对高级威胁的精准拦截与业务零信任访问控制,成为全球企业级防护的首选方案,其技术优势不仅在于硬件性能,更在于动态防御生态的持续进化,核心技术架构解析Single-Pass并行处理引擎区别于传……

    2026年2月5日
    14810
  • 服务器怎么学生认证?学生优惠认证流程详解

    服务器学生认证的本质是利用实名认证的学生身份,获取云厂商提供的专属折扣权益,通常可实现低至0.1折的优惠力度,核心流程在于准备有效的学信网学历证明或学生证材料,并在云服务商指定的权益中心完成实名与学生身份的双重验证,整个过程零门槛且免费,但需要严格区分“实名认证”与“学生认证”两个步骤,后者是解锁优惠的关键……

    2026年3月16日
    12800
  • 防火墙应用识别库如何提升网络安全防护能力,应对多样化威胁?

    防火墙应用识别库是网络安全体系中的核心组件,它通过深度解析网络流量中的应用层协议和特征,实现对各类应用程序的精准识别与控制,这项技术不仅能够帮助组织有效管理网络资源,还能显著提升安全防护能力,防范潜在威胁,防火墙应用识别库的核心原理应用识别库的核心在于其庞大的特征数据库和智能分析引擎,它通过以下方式工作:特征匹……

    2026年2月3日
    11200
  • 如何搭建Gogs服务器?Gogs搭建教程

    Gogs服务器搭建的核心在于利用其轻量级特性,通过Docker或二进制文件在Linux系统中快速部署,实现私有Git代码托管,相比GitLab更节省资源且适合中小团队,在2026年的技术选型语境下,企业和个人开发者对代码托管平台的需求已从“大而全”转向“快而精”,许多团队在初期面临资源瓶颈,GitLab虽然功能……

    2026年6月25日
    1600
  • 服务器异常请联系管理员什么意思,服务器异常怎么解决

    “服务器异常请联系管理员”本质上是一个通用的错误提示信号,意味着用户端与目标服务器之间的通信链路在服务器端发生了中断或处理失败,且服务器无法自动修复该错误,必须由具有权限的技术人员进行介入处理,这并非用户的设备故障,绝大多数情况下也不是简单的网络波动,而是网站后台程序、数据库连接或服务器配置出现了根本性问题,理……

    2026年3月23日
    15400
  • 服务器密码无权限更改怎么办?服务器密码无权限更改的解决方法

    当服务器提示“密码无权限更改”,意味着当前用户账户缺乏修改密码所需的系统级权限,这不是技术故障,而是权限策略的主动防御机制在生效,多数企业级服务器(如Linux系统中的sudo限制、Windows域策略、云平台IAM角色)默认禁止普通用户自行变更账户密码,以防止未授权操作、规避安全风险,本文将从成因、风险、排查……

    2026年4月15日
    7000
  • 服务器怎么安全设置?服务器安全配置的最佳方法详解

    服务器安全设置的核心在于构建“纵深防御”体系,即从网络层、系统层到应用层建立多层防护机制,并配合严格的权限管理与持续的监控维护,单一的安全措施无法抵御复杂的网络攻击,只有系统化的配置才能最大程度降低风险,及时修补漏洞与最小化权限原则是保障服务器安全的基石,许多服务器入侵事件源于未修补的已知漏洞或弱口令,必须建立……

    2026年3月15日
    14800
  • 服务器排坑指南有哪些?新手避坑技巧大全

    服务器运维的核心在于“防患于未然”与“标准化操作”,绝大多数服务器故障并非硬件损坏,而是源于配置不当、权限疏忽或缺乏监控,构建高可用服务器的关键结论是:建立严格的权限分级、配置自动化监控告警、实施标准化的备份恢复流程,是规避服务器“大坑”的三大基石, 系统初始化:拒绝默认配置是安全的第一道防线刚上线的服务器最容……

    2026年3月13日
    10300

发表回复

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