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 一款专业的视频字幕制作和视频处理工具
相关推荐
咖啡星人k9 分钟前
2026 Text-to-SQL:一句话让 AI 写 SQL,自然语言直接查数据库(MonkeyCode 云端实战)GreatSQL社区11 分钟前
少敲一个字母,GreatSQL 对所有查询“已读不回”BS30813_vx14 分钟前
【编号:01652】Spring Boot村务管理系统:财务公开、党建活动与计生服务一体化实战边吃番茄边敲代码26 分钟前
从本地工具到 MCP:给 Agent 接入独立工具服务,并补齐自动化测试SugarAbsinthe34 分钟前
【Agent开发实习小记】从人工逐条验证到自动化验收:新 API 接入前的效率瓶颈liwulin050644 分钟前
【VSCODE】能在终端打印的图标wangchunyu1141 小时前
PostgreSQL 入门与实践:从零搭建一个 CRUD 应用涛思数据(TDengine)1 小时前
从_找根因_到_搭系统_:工业 AI 实战直播(十、十一期)桃西西呀1 小时前
「百年一遇」的台风,为什么我这辈子就遇了好几回?概率论把这笔账算给你看苏其鸿1 小时前
Python开发入门:从环境搭建到第一个实用小项目