Golang怎么获取当前工作目录_Golang如何用os.Getwd获取程序运行路径【基础】

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 一款专业的视频字幕制作和视频处理工具

相关推荐
SilentSamsara15 小时前
缓存策略实战:Redis + Python 多级缓存设计与失效策略
开发语言·redis·python·缓存·性能优化
本地化文档15 小时前
psycopg3-docs-l10n
数据库·python·postgresql·github·gitcode·sphinx
Safeploy安策数据15 小时前
从算法到架构:构建企业级数据库加密与密钥防护体系的实战手册
数据库·安全·架构
JeJe同学15 小时前
LabelImg 标签字体大小修改教程
linux·人工智能·python
Irissgwe15 小时前
【无标题】
python·langchain·ai编程·langgraph
Litluecat15 小时前
信创改造,Oracle切海量数据库,语法与类型坑
数据库·sql·oracle·信创·字段类型·海量
星越华夏15 小时前
MongoDB安装实战指南
数据库·mongodb
RSTJ_162515 小时前
PYTHON+AI LLM DAY SIXTY-SIX
服务器·开发语言·python
川石课堂软件测试15 小时前
性能测试|JMeter常用线程组设置策略
大数据·数据库·功能测试·测试工具·jmeter·mysql·单元测试
Chase_______15 小时前
【Java基础 | 11】异常处理进阶:throw、throws、自定义异常与异常链讲清楚
java·开发语言·python