如何获得项目的根文件夹,两级升级

时间:2017-12-03 19:42:35

标签: go path

我在文件内部的深文件夹中,我想获得2级的目录,我看到以下api但不知道如何添加像 " ../../&# 34; , 任何的想法?

  dir, err := os.Getwd()

例如我得到以下

/Users/i02222333/go/src/myapp/src/test

我需要

/Users/i02222333/go/src/myapp

我可以通过一些操作来剪切带有路径的字符串,但我的问题是,是否有更好的解决方案来使用golang?

1 个答案:

答案 0 :(得分:0)

您可以获取目录名称' ../../'像这样使用path包:

package main

import (
    "fmt"
    "os"
    "path"
)

func main() {
    dirname, err := os.Getwd()
    if err != nil {
        panic(err)
    }

    fmt.Printf("Current directory: %v\n", dirname)
    dir, err := os.Open(path.Join(dirname, "../../"))
    if err != nil {
        panic(err)
    }

    fmt.Printf("Name of ../../: %v\n", dir.Name())
}

以下是我的输出示例:

$ go run main.go
Current directory: /Users/jack/go/src/stackoverflow/example/directory
Name of ../../: /Users/jack/go/src/stackoverflow