0
点赞
收藏
分享

微信扫一扫

go语言打开一个文件时的路径问题

迎月兮 2022-02-16 阅读 148
golang后端

前提是该文件所处的目录必须存在

1.绝对路径

如果写绝对路径是一定没有问题的
绝对路径从盘符开始,直到你想打开的文件所在的路径
目录分隔符 有两种 \\ /

//E:/GoProgect/src/loggerTest 这个目录 必须存在
// os.O_CREATE :文件不存在的时候创建文件夹 os.O_APPEND 对文件末尾添加内容时使用 os.O_RDWR对文件可读可写

_, err1 := os.OpenFile("E:\\GoProgect\\src\\loggerTest\\ZXPtest.log", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0744)
	if err1 != nil {
		fmt.Println("err1", err1)
	}
	//E:/GoProgect/src/loggerTest/zxp 这个目录 必须存在
_, err3 := os.OpenFile("E:/GoProgect/src/loggerTest/zxp/test.log", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0744)
	if err3 != nil {
		fmt.Println("err3", err3)
	}
	//两种目录分隔符可以交叉使用
_, err2 := os.OpenFile("E:\\GoProgect\\src\\loggerTest/Zxxp\\test.log", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0744)
	if err2 != nil {
		fmt.Println("err2", err2)
	}

2.相对路径

相对于代码文件所在位置
我的打开文件操作代码是在main.go文件中,main.go的相对路径就是项目目录loggerTest
相对路径可以省略./
在这里插入图片描述

//可以直接创建  
_, err4 := os.OpenFile("test.log", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0744) //正确 当前目录
	if err4 != nil {
		fmt.Println("err4", err4)
	}
	//不能创建 当前文件夹loggerTest下没有notExist文件夹
	_, err5 := os.OpenFile("notExist/test.log", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0744)
	if err5 != nil {
		fmt.Println("err5", err5)
	}
	//能创建 当前文件夹loggerTest下有notExist文件夹
	_, err6 := os.OpenFile("./Exist/test.log", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0744) //正确 当前目录
	if err6 != nil {
		fmt.Println("err6", err6)
	}
举报

相关推荐

0 条评论