获取Golang中给定文件路径的目录名称(不是路径)

亚米·奥德梅尔(Yami Odymel):

通过将path/filepath软件包与以下示例结合使用,您可以从文件路径获取完整的目录路径。

package main

import (
    "fmt"
    "path/filepath"
)

func main() {
    // Output: /path/to/dir
    fmt.Println(filepath.Dir("/path//to/dir/file.ext"))
}

但是,是否有一个从路径中Parent获取dir路径函数这是文件目录的名称):

// The `Parent` is what I want,
// and this is a pseudo-code example, this won't actually work.
//
// Output: dir
fmt.Println(filepath.Parent("/path//to/dir/file.ext"))

如果使用函数无法完成,如何使用RegExp获取父项的名称?

马克:

您可以filepath.Base用来获取目录的最后一个元素。例如:

package main

import (
    "fmt"
    "path/filepath"
)

func main() {
    paths := []string{
        "/home/arnie/amelia.jpg",
        "/mnt/photos/",
        "rabbit.jpg",
        "/usr/local//go",
    }
    for _, p := range paths {
        dir := filepath.Dir(p)
        parent := filepath.Base(dir)
        fmt.Printf("input: %q\n\tdir: %q\n\tparent: %q\n", p, dir, parent)
    }
}

返回值:

input: "/home/arnie/amelia.jpg"
    dir: "/home/arnie"
    parent: "arnie"
input: "/mnt/photos/"
    dir: "/mnt/photos"
    parent: "photos"
input: "rabbit.jpg"
    dir: "."
    parent: "."
input: "/usr/local//go"
    dir: "/usr/local"
    parent: "local"

(示例改编自filepath示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从Java中的文件路径获取目录(android)

在Bash中的文件路径参数中获取最后一个目录名/文件名

获取Python中绝对文件路径的目录路径

从文件路径获取文件目录路径

在Bash脚本中获取当前目录名称(无完整路径)

从全目录路径获取目录名称,而不管斜杠是否结尾

如何使用C ++获取文件夹/目录名称,而不是一个文件的路径?特别是boost :: filesystem;

获取当前工作目录名称而不是Node.js中的路径

确定目录名称路径

如何获取每个文件的目录名称?

如何在Gatsby中获取Markdown文件的目录名称?

如何从Windows批处理脚本中的文件路径获取父目录名称?

从文件路径中提取所需的目录名称

Spark:udf从路径获取目录名

在Windows CMD提示中仅显示当前目录名称(而不是完整路径)

在bash提示符下仅显示当前目录名称(不是完整路径)

命令以获取压缩文件中的最高目录名称

shell命令“ basename”获取路径中的最后目录名称的“ ant”等效项是什么

导出目录名称中带有空格的路径

在腻子上仅显示当前目录名称(不是完整路径)

如何在perforce文件路径中获取第二个目录名称?

Delphi:获取特定路径中的最大整数目录名称

Python:搜索给定路径中的文件,但不搜索给定路径中目录中的文件

如何从路径获取目录名

从给定路径中提取目录名称并进行匹配

bash:从给定子目录名称的当前目录获取路径

从文档目录中获取图像而不是文件路径 Swift 3

从文件路径获取目录名后的所有内容

如何在 Asp.Net 核心 API 中获取具有给定目录名称的字符串变量中的目录路径