golang 获取当前路径和上一级父路径(目录)

kuzuozhou · 2015-06-17 20:03:59 · 29629 次点击 · 预计阅读时间 1 分钟 · 大约8小时之前 开始浏览    
这是一个创建于 2015-06-17 20:03:59 的文章,其中的信息可能已经有所发展或是发生改变。

golang 获取当前路径和上一级父路径(目录)

package main

import (
	"fmt"
	"log"
	"os"
	"path/filepath"
	"strings"
)

func substr(s string, pos, length int) string {
	runes := []rune(s)
	l := pos + length
	if l > len(runes) {
		l = len(runes)
	}
	return string(runes[pos:l])
}

func getParentDirectory(dirctory string) string {
	return substr(dirctory, 0, strings.LastIndex(dirctory, "/"))
}

func getCurrentDirectory() string {
	dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
	if err != nil {
		log.Fatal(err)
	}
	return strings.Replace(dir, "\\", "/", -1)
}

func main() {

	var str1, str2 string
	str1 = getCurrentDirectory()

	str2 = getParentDirectory(str1)
	fmt.Println(str2)

}


 

 


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:kuzuozhou

查看原文:golang 获取当前路径和上一级父路径(目录)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

29629 次点击  
加入收藏 微博
3 回复  |  直到 2019-08-07 19:59:57
webrtcn
webrtcn · #1 · 7年之前

一句话搞定的事情,为什么要写这么多。。。

p := path.Join("c:/aa/bb/", "..")
fmt.Println(p)



    输出:  c:/aa
uidson
uidson · #2 · 6年之前

楼上的方法类似path.Dir("c:/aa/bb/") 但是在windows下如果写成c:\aa\bb好像就有问题了,哪位大神有方案呀?

Leigg
Leigg · #3 · 6年之前

2楼 @uidson
arg = "./" 父目录
arg = "../" 父的父目录
currPath,_ := filepath.Abs(arg)

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传