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 一款专业的视频字幕制作和视频处理工具
相关推荐
号码认证服务1 小时前
企业固话号码认证能覆盖哪些手机品牌?支持华为、小米、OPPO、vivo等机型2401_884454151 小时前
mysql如何处理大量重复值索引_mysql索引存储特征分析环流_1 小时前
Redis中set类型以及应用场景kexnjdcncnxjs1 小时前
SQL批量删除不同条件的记录_使用IN子句简化删除逻辑liux35281 小时前
Kafka 4.1.1 生产环境调优与最佳实践指南2303_821287381 小时前
如何安装Oracle 12c Cloud Control_OMS服务端组件与Agent部署Be reborn1 小时前
用例不是孤立执行的:依赖、变量池与 storage_state 设计m0_609160491 小时前
React Flow 边缘错位与消失问题的根源分析与 Hooks 重构方案Marvel__Dead1 小时前
微调 Gemma 4 识别腾讯天御全系列验证码【解决方案-一个模型识别 滑块|文字点选|图标点选|空间点选】