全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

如何在 Python 中获取脚本所在目录而非当前工作目录

`os.getcwd()` 返回的是终端执行命令时的当前工作目录,而非 python 脚本所在路径;要可靠获取脚本所在目录,应使用 `os.path.dirname(os.path.abspath(__file__))`。

在 Python 开发中,一个常见误区是认为 os.getcwd() 总能反映脚本的存放位置。实际上,os.getcwd() 始终返回进程启动时的操作系统当前工作目录(Current Working Directory) —— 这取决于你在哪个路径下敲下 python script.py 命令,与脚本物理位置完全无关。

例如,在 Anaconda Prompt 中执行:

C:\Users\u03132tk> python C:/Users/u03132tk/Python/MyTool/Script.py

此时当前工作目录是 C:\Users\u03132tk,因此 os.getcwd() 输出该路径,即使 Script.py 实际位于 C:/Users/u03132tk/Python/MyTool/。

✅ 正确做法:使用 __file__ 获取脚本的相对路径,再通过 os.path.abspath() 和 os.path.dirname() 构建其所在目录的绝对路径:

import os

# ✅ 获取脚本所在目录的绝对路径
script_dir = os.path.dirname(os.path.abspath(__file__))
print("Script directory:", script_dir)  # 输出: C:\Users\u03132tk\Python\MyTool

# 后续可基于此路径安全读取同级资源文件
config_path = os.path.join(script_dir, "config.json")

? 注意事项:

  • __file__ 是 Python 内置属性,指向当前模块(.py 文件)的路径(可能为相对路径),os.path.abspath(__file__) 将其标准化为绝对路径;
  • os.path.dirname(...) 提取该绝对路径的父目录(即脚本所在文件夹);
  • 此方法在命令行、IDE(如 VS Code、PyCharm)、Jupyter(通过 %run)等所有执行环境中均稳定有效;
  • 若需兼容 Python 3.4+ 更现代的写法,也可使用 pathlib:
    from pathlib import Path
    script_dir = Path(__file__).parent.resolve()

? 总结:永远不要依赖 os.getcwd() 来定位脚本或其资源;始终用 Path(__file__).parent(推荐)或 os.path.dirname(os.path.abspath(__file__)) 获取脚本根目录——这是跨环境、可移植、健壮的最佳实践。


# python  # js  # json  # 操作系统  # pycharm  # vs code 


相关文章: 如何设置并定期更换建站之星安全管理员密码?  5种Android数据存储方式汇总  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  广州美橙建站如何快速搭建多端合一网站?  江苏网站制作公司有哪些,江苏书法考级官方网站?  如何快速登录WAP自助建站平台?  如何通过网站建站时间优化SEO与用户体验?  济南专业网站制作公司,济南信息工程学校怎么样?  建站之星与建站宝盒如何选择最佳方案?  如何通过西部数码建站助手快速创建专业网站?  如何在IIS中新建站点并解决端口绑定冲突?  在线制作视频的网站有哪些,电脑如何制作视频短片?  如何快速查询网站的真实建站时间?  网站app免费制作软件,能免费看各大网站视频的手机app?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  如何零基础在云服务器搭建WordPress站点?  太原网站制作公司有哪些,网约车营运证查询官网?  C#如何使用XPathNavigator高效查询XML  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  如何选择适合PHP云建站的开源框架?  网站按钮制作软件,如何实现网页中按钮的自动点击?  如何用好域名打造高点击率的自主建站?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  如何配置支付宝与微信支付功能?  建站之星上传入口如何快速找到?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  建站168自助建站系统:快速模板定制与SEO优化指南  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  网站好制作吗知乎,网站开发好学吗?有什么技巧?  如何选择域名并搭建高效网站?  建站之星安装模板失败:服务器环境不兼容?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  如何通过山东自助建站平台快速注册域名?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  如何快速打造个性化非模板自助建站?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  广德云建站网站建设方案与建站流程优化指南  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  如何设计高效校园网站?  如何通过云梦建站系统实现SEO快速优化?  如何使用Golang table-driven基准测试_多组数据测量函数效率  大型企业网站制作流程,做网站需要注册公司吗?  如何在Windows虚拟主机上快速搭建网站?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  Android自定义控件实现温度旋转按钮效果  建站主机默认首页配置指南:核心功能与访问路径优化 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。