인공지능 AI/머신러닝 Machine Learning

Q. Colab에서는 왜 상대경로 지정이 잘 안 될까?

Tap to restart 2021. 2. 23. 23:00
반응형

A. 현재 작업 디렉터리가 '/content'이기 때문이다.

 

주피터 노트북 파일을 Colab에서 열었고, 노트북 파일과 같은 위치에 데이터 파일이 있다.

그래서 아래처럼 코드를 작성했다.

df_train = pd.read_csv('./train.txt', encoding='utf-8')
df_train

파일을 찾을 수 없다는 에러가 난다.

df_train = pd.read_csv('train.txt', encoding='utf-8')
df_train

위처럼 해봐도 에러가 난다.

 

그 이유는 현재 작업 디렉터리가 주피터 노트북 파일이 있는 디렉터리가 아니기 때문이다.

현재 작업 디렉터리를 확인할 수 있는 getcwd()로 확인해보자.

os.getcwd() 

/content 가 현재 작업 디렉터리라는 것을 알 수 있다.

 

/content 디렉터리 안에 drive가 있고 다시 그 안에 MyDrive 디렉터리가 있다. 이 MyDrive가 구글드라이브다. 보통 그 안에 다시 디렉터리를 만들어서 주피터 노트북 파일을 올리게 되니 경로가 복잡해진다.

 

이 경우 해결책은

base_path를 지정하는 방식이다.

base_path = '/content/drive/MyDrive/Colab Notebooks/my_project/'
df_train = pd.read_csv(base_path  +  'train.txt', encoding='utf-8')

 

반응형