path包 + pathfile 包 — 汇总

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/"));

    //匹配文件名,完全匹配则返回true
    fmt.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"));

    //匹配文件名,完全匹配则返回true
    fmt.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/yorkyang/p/12047215.html

时间: 2024-10-21 10:49:17

path包 + pathfile 包 — 汇总的相关文章

Python标准库03 路径与文件 (os.path包, glob包)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 路径与文件的简介请参看Linux文件系统 os.path包 os.path包主要是处理路径字符串,比如说'/home/vamei/doc/file.txt',提取出有用信息. import os.path path = '/home/vamei/doc/file.txt' print(os.path.basename(path)) # 查询路径中包含的文件名 print(os.p

Windows7SP1补丁包(Win7补丁汇总) 32位/64位版 更新截至2016年11月

Windows7SP1(64位)补丁包(Win7补丁汇总)更新到本月最新.包含Windows7SP1中文版所有重要补丁,可离线安装,适用于Windows 7 SP1 64位 简体中文系统.包含Internet Explorer 8补丁和IE兼容性补丁.安装程序会自动检测跳过系统已安装的更新程序.支持集成系统的更新程序自动检测!确保安装完后系统状态和原版自动升级结果完全一致!绿色软件,不含任何第三方广告软件和设置用户首页! 本补丁包由下载吧集成制作. 下载地址: #64位(软件大小:1.06GB)

关于war包 jar包 ear包 及打包方法

关于war包 jar包 ear包 及打包方法 war包:是做好一个web应用后,通常是网站打成包部署到容器中 jar包:通常是开发的时候要引用的通用类,打成包便于存放管理. ear包:企业级应用 通常是EJB打成ear包 各种包的打法: 转: 兄弟,对java着迷吗,或者是为了自己的生计,不论怎样都欢迎你进入精彩java世界,welcome!可能你刚刚对每个人说:Hello World!也或者……ok!这已经足够了.那就让我们开始吧,开始这个魔幻世界的旅程: jar文件听说过吗,没有?或者陌生!

Python/模块与包之包

Python/模块与包之包 1. 包是一种通过使用模块名 来组织Python模块名称空间的方式,一个类似于目录并存有__init__.py文件的被称为包 包的本质就是一个包含__init__.py文件的目录.包A和包B下有同名模块也不会冲突,如A.a与B.a来自俩个命名空间 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警觉:这是关于包才有的导入语法 包 通常包总是一个目录,可以使用import导入包,或者from + i

黏包-黏包的成因、解决方式及struct模块初识、文件的上传和下载

黏包: 同时执行多条命令之后,得到的结果很可能只有一部分,在执行其他命令的时候又接收到之前执行的另外一部分结果,这种显现就是黏包. 只有TCP协议中才会产生黏包,UDP协议中不会有黏包(udp协议中数据会直接丢失,俗称丢包) #面试 #首先只有在TCP协议中才有黏包现象,是因为TCP协议是面向流的协议, #在发送的数据传输的过程中还有缓存机制来避免数据丢失 #因此在连续发送小数据的时候,以及接收大小不符的时候,都容易产生黏包现象 #本质是不知道客户端发送的数据长度 面试中解释黏包 #连续send

各类计算机毕业设计代做,包代包过!

代做,定做毕业设计,论文.毕业生网站设计,系统开发.包代包过 QQ:80072496

如何处理在反编译时,原包验证包名问题

最近在反编译时,修改包名,反编译回去时,遇到一个问题: 这样看来应该是原包对包名进行了验证,那么该如何处理呢? 首先可以直接去public.xml里面去找一下"The Application bundle is has been modified. Please build the app again." 看看是不是在资源里面有这个字符串. 在里面并没有指定的字符串. 那么只能说明这一串字符是直接写到了代码里,此时可以使用Submine Text的find in files来找一下:

PL/SQL 编程(三 )程序包和包体,触发器,视图,索引

一.程序包和包体 程序包(package):存储在数据库中的一组子程序.变量定义.在包中的子程序可以被其它程序包或子程序调用.但如果声明的是局部子程序,则只能在定义该局部子程序的块中调用该局部子程序. 它具有面向对象程序设计语言的特点,是对这些PL/SQL 程序设计元素的封装.包类似于JAVA语言中的类,其中变量相当于类中的成员变量,过程和函数相当于类方法. create or replace package stuinfo as type stucur is ref cursor; proce

记录一个UDP收包丢包的问题

这几天写GB28181平台接入层代码,对收到的PS包进行解包时,总是出现误码,最终导致rtsp点播服务中画面花屏. 分析了码流抓包数据之后,发现网络上没有丢包,遂认为PS流解包代码有bug,于是埋头分析了2个小时的解包函数后,没有发现问题.将抓包RTP负载中的PS包数据导出之后,专门利用PS解包代码写了一个小程序,对导出的数据进行处理,又没有问题——后来事实证明解包代码的确没有问题,而且这部分的代码是在其他项目中用过的.自己有些迷糊了,一时想不明白问题出在哪里. 起身转了几圈冷静后分析一下,认为