JLOG

[Colab]구글 코랩에서 python file 열고 바로 수정하기 / 코랩에서 파이썬 파일 열기 / 코랩에서 파이썬 파일 수정 / 코랩에서 파이썬 파일 수정 바로 적용 본문

기타/팁

[Colab]구글 코랩에서 python file 열고 바로 수정하기 / 코랩에서 파이썬 파일 열기 / 코랩에서 파이썬 파일 수정 / 코랩에서 파이썬 파일 수정 바로 적용

정정선선 2021. 2. 22. 15:54

구글 코랩을 사용하면서 가장 불편했던 점은 python module 파일을 google drive에서 texteditor를 이용해 수정한 후에 수정 내용이 적용 되지 않아서 너무 불편했다.

만약 수정된 파이썬 모듈 파일의 내용을 적용하려면 코드를 처음부터 시작했어야 했다.

 

종합설계 수업을 듣던 중에 colab에서 바로 python 파일을 열고 수정할 수 있는 방법을 알아냈다.

필요한 files들을 local에 load하여 수정 후 다시 drive에 저장하는 방법이다.

 

 

 

 

1. Colab local에서 python file 열고 수정하기

먼저 colab에 접속해 아래 코드를 입력해 drive를 mount 후, 열고 싶은 python이 있는 path를 설정하고, cp를 이용해 local에 가져온다.

단, FOLDERNAME은 각 열고 싶은 folder을 가져와야 한다.

from google.colab import drive
drive.mount('/content/drive', force_remount=True)

FOLDERNAME = 'cs231n/assignment1/cs231n'

assert FOLDERNAME is not None, "[!] Enter the foldername."

%cd /content/drive/My\ Drive/
%ls

%cp -r $FOLDERNAME ../../
%cd ../../

 

코드를 실행했으면, 맨 왼쪽에 폴더 그림이 생긴 것을 확인할 수 있고 열기를 원하는 파이썬 파일을 찾아 더블클릭하면 파이썬 파일이 오른쪽에 열린 것을 확인할 수 있다.

 

테스트 하기 위하여 오픈한 k_nearest_neighbor.py의 class 안에 test function을 만들어 수정한 부분이 바로 적용되는지 확인했다.

위의 결과와 같이 바로 수정 내용이 적용이 된 것을 확인할 수 있었다.

하지만 이 수정본은 local에만 적용이 되고, google drive에 있는 python에는 저장이 안되어 있다.

google drive의 파일을 수정된 local 파일로 바꿔 저장해주면 된다.

 

 

 

 

 

2. Colab 수정된 local file을 drive에 저장 시켜주기

아래 코드를 colab에 작성하고 실행시켜주자, google drive의 파일에 수정된 파일로 바꿔 저장해주는 과정이다.

이 때, FILES_TO_SAVE의 리스트 원소를 바꾼 python 파일의 path 명으로 설정해주어야 한다. 

import os

FOLDER_TO_SAVE = os.path.join('drive/My Drive/', FOLDERNAME)
FILES_TO_SAVE = ['cs231n/classifiers/k_nearest_neighbor.py']


for files in FILES_TO_SAVE:
  with open(os.path.join(FOLDER_TO_SAVE, '/'.join(files.split('/')[1:])), 'w') as f:
    f.write(''.join(open(files).readlines()))

 

 

 

 

수정 결과 확인

왼쪽은 수정 적용 전 drive에 있던 python 파일, 수정 적용한 후에 python 파일

drive에서 python 파일을 확인하면, 아래와 같이 성공적으로 수정된 것을 확인할 수 있다.

Comments