go语言path包和filepath包的学习与使用
path包的使用
package main;import ("fmt""path" )//go语言path包的学习func main() {//返回路径的最后一个元素fmt.Println(path.Base("./a/b/c"));//如果路径为空字符串,返回.fmt.Println(path.Base(""));//如果路径只有斜线,返回/fmt.Println(path.Base("///"));//返回等价的最短路径//1.用一个斜线替换多个斜线//2.清除当前路径.//3.清除内部的..和他前面的元素//4.以/..开头的,变成/fmt.Println(path.Clean("./a/b/../"));//返回路径最后一个元素的目录//路径为空则返回.fmt.Println(path.Dir("./a/b/c"));//返回路径中的扩展名//如果没有点,返回空fmt.Println(path.Ext("./a/b/c/d.jpg"));//判断路径是不是绝对路径fmt.Println(path.IsAbs("./a/b/c"));fmt.Println(path.IsAbs("/a/b/c"));//连接路径,返回已经clean过的路径fmt.Println(path.Join("./a", "b/c", "../d/"));//匹配文件名,完全匹配则返回truefmt.Println(path.Match("*", "a"));fmt.Println(path.Match("*", "a/b/c"));fmt.Println(path.Match("\\b", "b"));//分割路径中的目录与文件fmt.Println(path.Split("./a/b/c/d.jpg")); }
filepath包的使用
package main;import ("path/filepath""fmt""os" )//学习filepath包,兼容各操作系统的文件路径func main() {//返回所给路径的绝对路径path, _ := filepath.Abs("./1.txt");fmt.Println(path);//返回路径最后一个元素fmt.Println(filepath.Base("./1.txt"));//如果路径为空字符串,返回.fmt.Println(filepath.Base(""));//如果路径只有斜线,返回/fmt.Println(filepath.Base("///"));//返回等价的最短路径//1.用一个斜线替换多个斜线//2.清除当前路径.//3.清除内部的..和他前面的元素//4.以/..开头的,变成/fmt.Println(filepath.Clean("C:/a/b/../c"));fmt.Println(filepath.Clean("./1.txt"));//返回路径最后一个元素的目录//路径为空则返回.fmt.Println(filepath.Dir("./a/b/c"));fmt.Println(filepath.Dir("C:/a/b/c"));//返回链接文件的实际路径path2, _ := filepath.EvalSymlinks("1.lnk");fmt.Println(path2);//返回路径中的扩展名//如果没有点,返回空fmt.Println(filepath.Ext("./a/b/c/d.jpg"));//将路径中的/替换为路径分隔符fmt.Println(filepath.FromSlash("./a/b/c"));//返回所有匹配的文件match, _ := filepath.Glob("./*.go");fmt.Println(match);//判断路径是不是绝对路径fmt.Println(filepath.IsAbs("./a/b/c"));fmt.Println(filepath.IsAbs("C:/a/b/c"));//连接路径,返回已经clean过的路径fmt.Println(filepath.Join("C:/a", "/b", "/c"));//匹配文件名,完全匹配则返回truefmt.Println(filepath.Match("*", "a"));fmt.Println(filepath.Match("*", "C:/a/b/c"));fmt.Println(filepath.Match("\\b", "b"));//返回以basepath为基准的相对路径path3, _ := filepath.Rel("C:/a/b", "C:/a/b/c/d/../e");fmt.Println(path3);//将路径使用路径列表分隔符分开,见os.PathListSeparator//linux下默认为:,windows下为;fmt.Println(filepath.SplitList("C:/windows;C:/windows/system"));//分割路径中的目录与文件dir, file := filepath.Split("C:/a/b/c/d.jpg");fmt.Println(dir, file);//将路径分隔符使用/替换fmt.Println(filepath.ToSlash("C:/a/b"));//返回分区名fmt.Println(filepath.VolumeName("C:/a/b/c"));//遍历指定目录下所有文件filepath.Walk("./", func(path string, info os.FileInfo, err error) error {fmt.Println(path);return nil;}); }
转载于:https://www.cnblogs.com/jkko123/p/6923962.html
go语言path包和filepath包的学习与使用相关推荐
- go语言path包和filepath包的学习和使用
目录 path包 path/filepath包 path包 package mainimport ("fmt""path" )func main() {//返回 ...
- Golang中path包和filepath包使用方法
path path实现了对斜杠"/"分隔的路径的实用操作函数. path.Base --获取文件名 func Base(path string) string Base函数返回路径 ...
- Go语言学习之path/filepath包(the way to go)
生命不止,继续 go go go !!! 文件以及文件夹的路径在编程中经常遇到,在C++工程中,我们往往自己写一个文件,里面塞满了关于路径的操作. golang很好,为我们提供了path/filepa ...
- golang中的path和filepath包
路径分割符 const (Separator = os.PathSeparator // 路径分隔符(分隔路径元素)ListSeparator = os.PathListSeparator // 路径 ...
- Golang中path/filepath包
path/filepath包下的相关函数 1. ToSlash函数 func ToSlash(path string) string 功能:将path中平台相关的路径分隔符转换成'/' 例如:wind ...
- Golang - path/filepath 包
------------------------------------------------------------filepath 中的函数会根据不同平台做不同的处理,比如路径分隔符.卷名等. ...
- R语言·文本挖掘︱Rwordseg/rJava两包的安装(安到吐血)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- R语言·文本挖掘︱Rwordseg/rJava ...
- Go语言圣经 - 第10章 包和工具 - 10.7 工具
第10章 包和工具 现在随便一个小程序可能就包含10000个函数,但是我们不可能一个个去构建,大部分还是来自于他人,这些函数通过类似包和模块的方式被重用 go语言的包超过100个,可以在终端中使用go ...
- R语言机器学习Caret包(Caret包是分类和回归训练的简称)、数据划分、数据预处理、模型构建、模型调优、模型评估、多模型对比、模型预测推理
R语言机器学习Caret包(Caret包是分类和回归训练的简称).数据划分.数据预处理.模型构建.模型调优.模型评估.多模型对比.模型预测推理 目录
最新文章
- 使用 spring boot 开发通用程序
- Wire:Linux开源聊天应用
- AjaxJson笔记(1)
- 涨知识 | 100个中国最难读的地名,第一个就折了
- php mysql ppt,7PHP访问数据库分析.ppt
- solaris下修改 IPMP 配置
- linux7.0下mysql_CentOS 7.0下使用yum安装MySQL
- HDU2147 kiki's game
- 基于CWMP(TR069)协议ACS服务器的搭建
- 不再害怕打字慢(python信息轰炸)
- 还在使用手写笔记?又或者使用TXT、Word做笔记?NoNoNo,你需要一款合适的电子笔记!
- 算法和数据结构(b站尚硅谷韩老师教程学习笔记)
- 2个令人震撼的Demo
- devops summary
- Java(JavaEE)学习线路图
- C语言采药动态规划,采药--动态规划
- 央行:规范金融业开源应用与发展的指导意见
- 最新安徽安全员B考试选择题预测题库
- 苹果/Mac电脑怎么卸载软件?软件卸载不了怎么办?
- matlab printf格式化输出,Shell printf格式化输出命令