더북(TheBook)

7.3.3 파일, 디렉터리, 운영체제 환경 다루기

프로그램을 작성하다 보면 파일 읽기, 수정, 생성 등 파일을 관리해야 할 때가 있다. 이때 유용하게 사용할 수 있는 패키지를 알아보자.

os 패키지는 운영체제를 다루기 위한 기능을 제공한다.

표 7-1 os 패키지의 함수

함수

설명

Chdir, Mkdir, MkdirAll, Getwd

현재 작업 디렉터리 관리

Chmod, Chown

파일 모드(mode)와 소유자(ownership) 변경

Chtimes

파일 속성 관리

Environ, Getenv, Setenv, Unsetenv, Clearenv, ExpandEnv

환경 변수 다루기

Create, Remove, Open

파일/디렉터리 생성/제거

Stat, Lstat

파일 속성 확인

Exit

프로세스 종료

IsExist, IsNotExist, IsPermission

에러 확인

Expand, Getgid, Getgroups, Getpagesize, Getpid, Getppid, Getuid

기타

io 패키지는 io.Reader, io.Writer, io.Closer, io.Seeker 같은 인터페이스를 제공하고, 이를 활용하여 다양한 기능을 구현해 놓았다. io 패키지의 함수와 메서드 대부분은 인터페이스 기반으로 동작하므로 실제 기능이 구현된 타입과 함께 사용해야 한다. 이를테면 os.File 타입은 io.Readerio.Writer로 사용할 수 있다.

파일의 내용을 읽을 때 단순 텍스트 파일이 아니라면 보통 버퍼로 접근한다. bufio 패키지는 버퍼로 파일의 내용을 안전하게 읽고 쓰기 위한 기능을 제공한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.