Golang 从绝对路径获取文件名

Golang 从绝对路径获取文件名

我们将使用Golang的filepath和字符串函数来从绝对路径中获取文件名。绝对目录以根目录开头,并包括所有中间目录。在第一种方法中,我们将使用filepath包的函数,在第二个示例中,我们将使用strings包的函数。

方法1:使用filepath包

在此程序中,使用path/filepath包中的filepath.Base函数提取文件的基本名称,即不带目录路径的文件名。然后在控制台上显示提取的文件名。

语法

filepath.Base()

使用路径/文件路径包中的 filepath.Base 函数来确定文件路径的基本名称。文件路径的最后一部分(不包括目录和任何分隔符)被称为基本名称。

步骤

  • 步骤1 - 在main包中创建并声明fmt(格式化包)和path/filepath包,用于在主要的可执行代码中进行格式化输入和输出。

  • 步骤2 - 创建一个main函数,在该函数中创建一个file_path变量,并将路径赋值给file_path。

  • 步骤3 - 使用filepath.Base函数从上面的变量中获取文件的名称。

  • 步骤4 - 使用fmt.Println()函数将文件名打印在控制台上,其中ln表示换行。

示例

在此示例中,我们将使用filepath.Base()函数获取文件名。

package main
import (
   "fmt"
   "path/filepath"
)

func main() { 
   file_path := "/path/to/myfile.txt" //assign the absolute path
   file_name := filepath.Base(file_path)  //use this built-in function to obtain filename
   fmt.Println(" The file Name from the absolute path is:", file_name)
}

输出

The file Name from the absolute path is: myfile.txt

方法2:使用 strings.TrimRight 和 strings.Split 函数

在此程序中,使用 strings.TrimRight 函数来删除文件路径中的尾部斜杠。使用 Split 函数将文件路径分割为不同的部分,并用斜杠分隔开。然后,访问分割后文件路径的最后一个元素以获取文件名。

语法

func Split(str, sep string) []string

Split()函数用于通过提供的分隔符拆分字符串。该函数存在于字符串包中,它接受要拆分的字符串作为参数以及一个分隔符。然后该函数将返回最终的字符串数组作为结果。

strings.TrimRight

使用TrimRight函数删除字符串的指定字符以及尾随空格。

步骤

  • 第1步 - 创建一个主要的程序包,声明fmt(格式化程序包),字符串包 main函数生成可执行代码,fmt帮助格式化输入和输出。

  • 第2步 - 创建一个主函数,在该函数中创建一个变量file,并将其分配给绝对路径。

  • 第3步 - 在此步骤中,对文件变量使用TrimRight函数删除任何以“/”开头的尾随斜杠。

  • 第4步 - 使用Split函数获取文件的最后一个组件。

  • 第5步 - 在控制台上打印文件名。

  • 第6步 - 使用fmt.Println()函数执行打印语句,其中ln表示换行。

示例

在这个示例中,我们将使用strings.Split和strings.TrimRight函数来执行程序。

package main
import (
   "fmt"
   "strings"
)

func main() {
   file := "/path/to/myfile.txt"  //assignthe variable an absolute path
   file_name := strings.TrimRight(file, "/")
   file_name = strings.Split(file_name, "/")[len(strings.Split(file_name, "/"))-1]
   fmt.Println("The File name from the absolute path is:", file_name) //print the filename
}

输出

The file Name from the absolute path is: myfile.txt

结论

我们通过两个示例执行了从绝对路径中获取文件名的程序。在第一个示例中,我们使用了filepath.Base函数,而在第二个示例中,我们使用TrimRight和split函数来执行该程序。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程