ABOUT ME

Today
Yesterday
Total
  • [Jupyter] 주피터 노트북의 Magic Command 사용법 알아보기
    Python/개발환경 2025. 4. 8. 10:49
    반응형

    Jupyter Notebook의 Magic Command 사용법 알아보기


    흔히들 파이썬(Python) 개발환경으로 이용하는 주피터 노트북(Jupyter Notebook)은 시각화 및 출력 결과를 한번에 볼 수 있는 인터페이스 덕분에 저도 애용하고 있습니다. 그런데, 주피터 노트북에서 이용할 수 있는 매직 커맨드(Magic Command)라는 특수 기능을 아시나요? 매직 커맨드는 % 또는 %%로 시작하는 특별한 명령어로, 주피터 개발환경에서만 사용 가능하답니다. 이번에는 이 매직 키보드의 예시를 몇 가지 살펴보도록 하겠습니다.

     

     

    Magic Command의 사용 방법


    매직 커맨드는 사용 방법에 따라 적용 범위를 바꿀 수 있습니다.

     

    • %: 라인(line) magic 은 한 줄에서만 적용되도록 하며,
    • %%: 셀(cell) magic 은 전체 셀에 적용되도록 조정할 수 있습니다.

     

    자주 쓰이는 Magic Command 예시


    1. time: 코드 실행 시간 측정

    %time sum(range(1000000))

     

    time 매직 커맨드는 코드 실행에 걸리는 시간을 측정할 수 있도록 합니다. 간단하게 이용하거나, 단순 함수 하나를 실행할 때는 라인 매직을 이용하면 되겠지요.

     

    %%time
    total = 0
    for i in range(1000000):
        total += i

     

    그리고, 여러 줄의 코드가 실행되는 시간을 측정하고 싶다면 셀 매직 방식으로 실행하면 됩니다.

     


    2. timeit: 평균 실행 시간 측정

    %timeit sum(range(1000))

     

    timeit은 보다 정밀한 성능 측정을 할 때 사용할 수 있습니다. 코드의 실행 속도에 따라, 적당한 횟수를 반복 실행한 뒤 평균 실행 시간을 알려주기 때문이지요. 물론, timeit도 필요에 따라 라인 매직 혹은 셀 매직을 선택할 수 있습니다.

     


    3. %ls, cd, pwd: 디렉토리 관련 명령어

    %ls
    %pwd
    %cd /path/to/your/folder

     

    주피터 개발환경에서는 리눅스 명령어를 제한적으로 이용할 수 있습니다. 매직 커맨드를 활용해 ls 를 입력하면 현재 경로의 파일 목록을 확인할 수 있으며, pwd (현재 디렉토리 정보 조회) 나 cd (디렉토리 변경) 와 같은 명령어도 동작합니다.

     


    4. %matplotlib inline: 정적 그래프 출력

    %matplotlib inline
    import matplotlib.pyplot as plt
    
    plt.plot([1, 2, 3], [4, 5, 6])

     

    matplotlib 또는 관련 패키지를 이용해서 그래프를 그릴 때, 주피터 노트북에서 바로 그래프를 보여줄 수 있도록 하는 매직 커맨드입니다. 많은 학습자료에서 이 커맨드를 입력하지 않으면 그래프가 출력되지 않는 것처럼 소개하곤 하는데, 최신 버전 주피터 노트북에서는 이 커맨드가 기본적으로 적용되어 있기 때문에 굳이 적지 않아도 됩니다. 이 커맨드는 특이하게도, 라인 매직으로 한번만 실행하면 해당 세션에서 계속 유지됩니다.

     


    5. %run: 다른 파이썬 파일 실행

    %run my_script.py

     

    외부의 다른 파이썬(.py) 파일을 현재 노트북 안에서 실행하는 커맨드입니다. 터미널 창을 새로 열기 귀찮을 때 유용하게 써먹을 수 있지요.

     


    6. %who, %whos: 현재 변수 목록 확인

    %who
    %whos

     

    현재 정의된 변수들을 확인할 수 있는 매직 커맨드입니다. 물론, 파이썬에는 globals(), locals(), dir() 처럼 현재 정의된 변수를 확인할 수 있는 함수가 있습니다만, 이 매직 커맨드의 장점은 사용자 정의 변수만 따로 묶어볼 수 있다는 점이지요.

     


    7. %load: 외부 파이썬 코드 불러오기

    %load my_script.py

     

    이 매직 커맨드는 지정된 파일의 코드를 셀로 불러오는 역할을 합니다. 파이썬의 import 를 활용할 수도 있지만, 이 커맨드는 해당 파일의 코드가 화면에 적힌다는 차이점이 있지요. 그래서 수정이 불가능한 import 와 달리, 코드를 직접 보면서 수정하고 재실행할 수 있습니다.

     

     

    다른 Magic Command 알아보기


    만약 다른 매직 커맨드를 알아보고 싶다면, %magic 커맨드를 입력해서 현재 사용 가능한 명령어를 읽어보셔도 좋습니다. 그리고, 설명이 필요한 경우에는 %timeit? 과 같이 매직 커맨드 뒤에 물음표를 붙어서 실행해 보세요.

    반응형

    댓글

문의: jwkang3929@naver.com