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 一款专业的视频字幕制作和视频处理工具
相关推荐
工具派6 分钟前
PDF签名贴上去为什么发虚?尺寸、DPI与坐标的边界实测谙忆19 分钟前
PNG改成ICO为什么不能用:用Python检查多尺寸目录与256px帧长空任鸟飞_阿康21 分钟前
如何设计支持 Skills 的 Agent?一套可扩展的四层架构滴啦嘟啦哒24 分钟前
【具身笔记】【原理探究】一、对PI05源码的实践笔记miofly32 分钟前
GitHub 今日推荐|elephant-goldfish-model:先审查设计草案再写代码云和数据.ChenGuang40 分钟前
深入剖析 Python 的 MRO 规则:从 C3 线性化到实战踩坑123_不打狼1 小时前
Squidiff:基于条件扩散模型预测细胞发育与扰动响应瑞克-桑切斯1 小时前
4、MySQL 索引与事务databook1 小时前
用Python DSL 写轻量数据质检工具