주피터 노트북을 이용하다 보면 파일 처리 등을 위해 파일 탐색기 작업 등을 수행하게 되는데, 이 때 매직(Magic) 명령어를 이용하면 주피터 노트북 상에서 보다 쉽게 사용이 가능합니다.
매직 명령어 설명에 앞서 주피터 노트북에서 프롬프트(Shell)를 이용하는 방법을 간단히 살펴 봅시다.
명령 프롬프트(Shell) 이용하는 방법
코드 셀에서 앞에 '!'를 붙이고 명령 프롬프트에서 사용하는 명령어를 입력하면 됩니다.
예를 들면 IP 구성 확인을 위해서는 코드 셀에 !ipconfig -all 입력 후 코드 셀을 실행(Ctrl + Enter)하면, 명령 프롬프트에서 실행하는 것과 똑같은 결과가 노트북에서 실행되는 것을 볼 수 있습니다.
파이썬을 하면서 import 에러가 발생하면 우리는 pip install xxxxxx를 자주하는데 이 또한 주피터 노트북에서 !pip install xxxxxx 라고 입력 후 실행하는 것이 가능합니다.
기억하자 명령 프롬프트 실행을 위해서는 앞에 느낌표(!)
매직 명령어 이용하는 방법
본격적으로 주피터 노트북에서 매직(Magic) 명령어을 이용하는 방법에 대해서 알아보자.
매직 명령어를 사용하기 위해서는 '%'을 앞에 입력 후 매직 명령어를 입력하면 됩니다.
'%'를 하나 사용하면 해당하는 한 줄만 실행되는 Line 매직 명령이고 '%'를 두 개(%%) 이어서 사용하면 해당 코드 셀 전체에 대해서 실행되는 Cell 매직 명령이 됩니다.
주피터 노트북에서 사용 가능한 Line 매직 명령어과 Cell 매직 명령어는 코드 셀에 %lsmagic이라고 입력하고 실행하면 전체 매직 명령어들을 한 눈에 볼 수 있습니다.
매직 명령어들 중에 자주 사용하는 매직 명령어에 대해서 정리해보면 다음과 같습니다.
%pwd : 현재 노트북의 디렉토리의 정보를 출력
%ls : 현재 디렉토리의 목록 출력
%mkdir 디렉토리명 : 디렉토리 신규 생성
%rmdir 디렉토리명 : 해당 디렉토리 삭제
%load 파일명 : 해당 파일 열어 파일 내용을 코드 셀에 출력
%%writefile 파일명 : 해당 코드 셀 전체를 파일로 저장
%time : 한 줄에 대한 실행 시간을 출력
%%time : 코드 셀 전체 에 대한 실행 시간을 출력
%autosave : 노트북 자동 저장 시간 설정(Default로 120초로 설정되어 있습니다)
그럼 주피터 노트북 자동 저장 시간을 120초에서 300초로 변경해보자.
매직 명령어 이해를 돕기 위해 다음을 따라해 봅시다.
코드 셀에 파이썬 코드를 작성하고
작성한 파이썬 코드를 sample.py 라는 파일로 저장해보고
파일로 저장된 파이썬 코드를 주피터 노트북 상에서 바로 실행해서 결과를 확인해보고
저장된 파일을 불러와서 코드 셀에 파일썬 코드를 열고
파이썬 코드를 수정 후 sample_01.py로 저장 후 실행해봅시다.
1) 간단한 파이썬 코드를 다음과 같이 작성하였습니다.
2) 작성한 코드 최상 위에 셀 매직 명령어 %%writefile 적고 뒤에 저장할 파일명(sample.py)을 입력하여 실행
매직명령어 %ls라고 입력하고 실행하면 해당 디렉토리에 'sample.py'라는 파일이 새롭게 만들어진 것을 확인할 수 있을 것이다.
3) 프롬프트 명령어를 실행시키기 위해 코드셀 앞에 '!'를 입력하고 이어서 python 이라는 명령어를 입력하고 파일명(sample.py)을 추가하여 실행하면 'sample.py'라는 파일이 실행하게 된다.
4) 이 번에는 디렉토리 내의 'sample.py'라는 파일을 코드 셀에서 불러와 보자.
%load 라는 매직 명령어 뒤에 불러올 파일명을 적어 주면 된다.
실행하고 나면 입력하였던 매직 명령어 라인은 자동으로 주석 처리됩니다.
5) %load 불러온 파이썬 코드를 수정 후 동작 확인해보고 이상 없으면 2)번과 같은 방법으로 코드 셀의 내용을 파일로 저장하면 된다.
매직명령어 %%writefile 입력 후 파일명(sample_01.py) 입력하여 실행
이상으로 주피터 노트북에서 프롬프트 명령어 사용 방법, 매직 명령어(라인 매직명령, 셀 매질 명령)에 대해서 알아보았습니다.
혹시 궁금한 내용이나 잘 안되는 부분 있으면 댓글 주세요.
'파이썬 기초' 카테고리의 다른 글
파이썬 Pandas 오늘은 DataFrame 제대로 이해하기 (0) | 2020.07.10 |
---|---|
파이썬 Pandas를 알기 위해서는 Series부터 이해하자. (0) | 2020.07.08 |
주피터 노트북(Jupyter Notebook) Markdown 기능 및 수식 입력 방법 (0) | 2020.06.26 |
파이썬 활용 주식 일봉 데이터 받기 및 챠트 그리기 1 (4) | 2020.06.19 |
파이썬 활용 주식 전 종목 코드 구하기 (0) | 2020.06.17 |