코랩(CoLab) 환경에서 개발을 하다보면 파일 입출력을 해야할 때가 있을 것이다.
보통 코랩을 사용하는 이유가 개발하는 장소가 유동적이기 때문에,
온라인 상에서라도 개발 환경이 변하지 않도록 가상 환경을 구축해놓는 것이다.
마찬가지로 파일 입출력의 경우에도 csv 또는 txt 파일들을 개발 환경에 계속 저장해놓을 수 없는 상황이 있을 수 있기 때문에, 코랩에서는 구글 드라이브에 파일을 저장해놓고 접근할 수 있는 모듈을 제공해준다.
이렇게 하면 개발 환경이 달라진다고 해서 파일을 계속 다운받을 필요도 없을 뿐더러,
마치 파일 입출력을 통해 DB와 비슷한 효과를 볼 수도 있다.
그럼 이제 이런 환경을 어떻게 구축하는지 알아보자.
from google.colab import drive
drive.mount('/content/gdrive')
방법은 매우 간단하다.
이 두 줄의 코드를 입력하고 실행하기만 하면 된다.
코드를 실행하였다면 아래와 같은 문장이 출력될 것이다.
출력 결과를 확인해보면, 어떠한 URL과 입력창이 주어지는데
한 번 해당 URL을 클릭하여 접속해보자.
그럼 이렇게 구글 드라이브 접근을 위한 여러 권한들을 허용하도록 동의하는 페이지가 출력되는데,
이 기능들을 사용하기 위해서는 허용버튼을 눌러서 다음 화면으로 이동하여야 한다.
허용버튼을 누르면 위 이미지처럼 인증코드를 복사할 수 있는 화면이 나타난다.
이 코드는 처음에 코드를 실행시켰을 때 출력되는 입력창에 입력해주면 되며,
빨간색 네모칸에 있는 버튼을 누르면 간단하게 코드를 복사할 수 있다.
이제 파일 입출력을 진행할 '새 파일'을 하나 만들어주어야 한다.
'/content/gdrive/' 경로로 구글 드라이브를 마운트해주었기 때문에, 코드창 왼쪽을 확인해보면 저렇게 구글 드라이브에 접근할 수 있는 폴더가 나타난다.
예제를 위해 Colab NoteBooks 폴더를 우클릭하여 새 파일을 생성해주자.
파일이름은 'my_file' 이라고 지정하였다.
파일을 생성한 후에는, 생성한 파일을 우클릭하여 파일 입출력에 사용하기 위한 파일 경로를 복사해주어야 한다.
복사가 완료되었다면 아래 코드를 입력하여 실행시켜주자.
file_path = '/content/gdrive/MyDrive/Colab Notebooks/my_file'
with open(file_path, 'w') as my_file:
my_file.write('안녕하세요\n')
my_file.write('부나입니다.')
file_path 변수에 복사한 경로를 붙여 넣어 주었다.
경로는 사람마다 다를 수 있기 때문에, 코드를 그대로 사용하기보다는 위 방법대로 경로 복사 기능을 이용하는 것을 권장한다.
그 후에는 파이썬의 with 구문을 통해 my_file이라는 이름으로 파일 객체를 쓰기 모드 열어주었다.
my_file 객체의 write() 메소드를 사용하면 문장을 입력할 수 있다.
나는 내 블로그 닉네임명으로 간단한 인사 문장을 파일에 저장하도록 하겠다.
코드를 실행하고 파일을 열어본 결과 정상적으로 문장을 입력되었음을 확인할 수 있었다.
이처럼 모듈을 사용하면 간단한 코드로도 구글 드라이브 파일들에 접근하여 읽기 쓰기가 가능하다.
단, 주의할 점은 일정 시간이 지나면 마운트가 해제되기 때문에 다시 마운트 작업을 해 주어야 한다.
그렇지 않으면 파일을 open해도 경로가 없다는 에러가 발생할 수 있다.
👍클릭으로 구독하기👍
(이해가 다소 힘들거나, 틀린 부분이 있다면 댓글 부탁드리겠습니다! 😊)
💖도움이 되셨다면 '구독'과 '공감' 부탁드립니다!💖