os.Getwd() 返回进程启动时的工作目录,而非可执行文件所在目录;获取程序自身路径应使用 os.Executable() + filepath.Dir(),并用 filepath.Join 拼接路径以确保跨平台兼容性。os.Getwd 返回的是进程启动时的工作目录,不是可执行文件所在目录很多人以为 os.Getwd() 能拿到 main.go 或二进制文件所在的路径,其实它返回的是你运行程序时所在的 shell 目录。比如你在 /tmp 下执行 ./myapp,os.Getwd() 就是 /tmp,哪怕 myapp 文件在 /home/user/bin 里。常见错误现象:-- 配置文件读取失败(想读 ./config.yaml,但程序在别处启动)-- 日志写到意外路径-- 嵌入静态资源时路径拼接错乱用 os.Getwd() 前先确认你的使用场景:是需要"用户当前在哪启动的",还是"程序自己放在哪"如果目标是可执行文件路径,得用 os.Executable() + filepath.Dir()os.Getwd() 可能返回 error(比如工作目录被删除、权限不足),必须检查获取可执行文件真实路径要用 os.Executable + filepath.DirGo 程序启动后,可以通过 os.Executable() 拿到二进制文件的绝对路径(符号链接会被自动解析),再用 filepath.Dir() 提取目录部分------这才是你通常想要的"程序根目录"。示例: Zeemo AI 一款专业的视频字幕制作和视频处理工具
相关推荐
ServBay7 小时前
9 个 Python 第三方库推荐,不用 AI 都好像多出一个团队用户8356290780517 小时前
如何使用 Python 添加和管理 Excel 批注(完整示例)用户8356290780517 小时前
使用 Python 管理 Excel 工作表:创建、复制、删除与重命名SelectDB7 小时前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台这个DBA有点耶8 小时前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询掉头发的王富贵11 小时前
【StarRocks】极限十分钟入门StarRocksNturmoils11 小时前
WHERE 条件别凭习惯写,常用查询先跑一遍荣码16 小时前
LangGraph多Agent协作:3个Agent干活比1个强,但我踩了4个坑用户8356290780511 天前
Python 操作 PDF 附件:添加、查看与管理指南Databend1 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路