goland os.Open 路径错误

举报
风吹稻花香 发表于 2021/06/05 00:09:22 2021/06/05
【摘要】   os.Open 报错原因:Open不是当前目录下查找, 项目取的是项目根目录,不是执行目录:证明如下: exPath,_ := os.Getwd()fmt.Println("expath",exPath)file, err := os.Open(exPath+"/"+filename)   解决方法: 换成绝对路径: 1. 设置out...

 

os.Open
 

报错原因:Open不是当前目录下查找,

项目取的是项目根目录,不是执行目录:证明如下:


  
  1. exPath,_ := os.Getwd()
  2. fmt.Println("expath",exPath)
  3. file, err := os.Open(exPath+"/"+filename)

 

解决方法:

换成绝对路径:

1.

设置output directory 和Working directory:

都为run目录,打开文件就会冲这里找:

方法2:换成绝对路径:

 


  
  1. ex, err := os.Executable()
  2. if err != nil {
  3. panic(err)
  4. }
  5. exPath := filepath.Dir(ex)
  6. file, err := os.Open(exPath+"/"+filename)
  7. if err != nil {
  8. return nil, 0 ,0
  9. }
  10. defer file.Close()
  11. stats, statsErr := file.Stat()
  12. if statsErr != nil {
  13. return nil, 0,0
  14. }
  15. var totalSize int64 = stats.Size()
  16. bytes := make([]byte, offset)
  17. retSize,_ := file.ReadAt(bytes, start)
  18. return bytes, retSize, totalSize

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/88408230

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。