프로그래밍/Go

[Go] golang 절대경로, 상대경로 구하기

Beginner:) 2021. 4. 5.
320x100

Go에서는 일단 상대경로가 없다고 한다...

추가가 된다는 말도 있으나 1일차인 나는 이게 최선이다 ...

 

os

- 절대경로

path, _ := os.Getwd()
	println(path)

- 상대경로

os.Getwd()로 구한 경로에서 "/.." 를 포함하여 사용 (파일 쓰기로 테스트 예제)

err = ioutil.WriteFile(path + "/.." + "/test.txt", bytes, 0)

 

filepath

- 절대경로

path,err := filepath.Abs("filename.txt")
	println(path)

- 상대경로

os와 마찬가지로 사용.

다만 filepath.Abs는 파일명까지 포함이기에 filepath.Dir(path)를 사용 (파일 쓰기로 테스트 예제)

err = ioutil.WriteFile(filepath.Dir(path) + "/.." + "/test.txt", bytes, 0)

 

시스템, 유저 환경변수를 써라는 말도 있으나 언젠간 이 때문에 오류가 나면 한참 걸릴 것도 같으니 일단 스킵...

 

그 외 확장자명 분리, 폴더만 분리, 파일명만 분리 가능하다.

filepath 패키지 문서이다. 

 

Go lang filepath doucument

golang.org/pkg/path/filepath/

 

filepath - The Go Programming Language

Package filepath

 

반응형

댓글