ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [nbconvert] ipynb 파일을 마크다운 파일로 변환하는 방법
    유용한 프로그램 2023. 3. 29. 15:35
    반응형

    ipynb 파일을 마크다운 파일로 변환하는 방법


    파이썬(Python) 프로그래밍 강의를 할 때, 저는 주피터 노트북(Jupyter Notebook)을 주로 이용하는 편입니다. 제가 코딩을 할 때, 주피터 랩(Jupyter Lab)을 주로 쓰기 때문에 익숙한 UI 때문이기도 하고, ipynb 파일의 경우 중간중간에 마크다운을 끼워넣거나 해서 강의 내용을 메모하는 등으로 이용할 수 있기도 해서 그렇습니다. 물론, 제가 글을 쓸 때 코드를 적어놓은 파일을 기반으로 사용할 수 있기 때문이기도 하지요.
    하지만, 주피터 노트북 등에서 사용하는 ipynb 파일은 텍스트 에디터에게는 조금 불친절할 때가 있는 파일입니다. 지금 작성하고 있는 파일을 메모장으로 열어보기만 해도 눈으로 구조를 한눈에 파악하는데 어려움이 있기 때문이지요. 아래 코드를 한번 살펴봅시다.

    {
     "cells": [
      {
       "cell_type": "markdown",
       "id": "79d4bb16-193f-431f-a87e-e2c0195b64ee",
       "metadata": {},
       "source": [
        "파이썬(Python) 프로그래밍 강의를 할 때, 저는 주피터 노트북(Jupyter Notebook)을 주로 이용하는 편입니다. 제가 코딩을 할 때, 주피터 랩(Jupyter Lab)을 주로 쓰기 때문에 익숙한 UI 때문이기도 하고, ipynb 파일의 경우 중간중간에 마크다운을 끼워넣거나 해서 강의 내용을 메모하는 등으로 이용할 수 있기도 해서 그렇습니다. 물론, 제가 글을 쓸 때 코드를 적어놓은 파일을 기반으로 사용할 수 있기 때문이기도 하지요.</br></br>\n",
        "하지만, 주피터 노트북 등에서 사용하는 ipynb 파일은 텍스트 에디터에게는 조금 불친절할 때가 있는 파일입니다. "
       ]
      }
     ],
     "metadata": {
      "kernelspec": {
       "display_name": "Python 3 (ipykernel)",
       "language": "python",
       "name": "python3"
      },
      "language_info": {
       "codemirror_mode": {
        "name": "ipython",
        "version": 3
       },
       "file_extension": ".py",
       .
       .
       .

    문단 하나만 적었음에도 불구하고, 저 모든 파일의 구조를 파악해야 합니다. ipynb 파일은 아무래도 다양한 용도로 활용되는 파일 형식이다보니, 파일 자체에 대한 정보 이외에도 어떤 용도로 셀이 사용되었는지에 대한 정보가 필요한가봅니다. 잘 살펴보면, json 파일 형식을 기반으로 해서 만들어졌다는걸 알 수 있지만, 그걸 굳이 이렇게 읽어보거나 파싱을 할 필요는 없지요.


    아무튼, 이 내용을 그대로 복사-붙여넣기를 해서 마크다운 에디터에 붙여넣기를 하면 문제가 좀 생깁니다. 하나의 셀에만 코드와 주석을 적었다면, 그걸 복사하면 되겠지만 여러개의 셀에 걸쳐 있는 내용의 경우에는 셀 전체 전택 후 글자만 복사하기는 더욱 힘들어집니다. 그래서, 아예 이런 생각을 해 봤습니다. ipynb 파일을 그대로 마크다운 파일(md)로 바꿔버리면 복사-붙여넣기로 해결되겠지! 하고 말이죠. 물론, 이런 생각은 저뿐만이 아니라 다른 많은 사람들이 생각했던 아이디어이며, 이런 작업을 쉽게 할 수 있도록 프로그램이 준비되어 있었습니다.


    우선은, 커맨드(터미널) 창을 하나 열어줍니다. ipynb 파일을 다룰 수 있으면서 커맨드 창 하나 열 줄 없는 사람은 거의 없을테니 자세한 설명은 생략하도록 하겠습니다.


    여기서 pip install nbconvert라고 명령어를 쳐 줍니다. 참고로, nbconvert는 jupyter와 함께 동작하기 때문에 jupyter가 설치되지 않은 환경이라면 함께 깔아주도록 합시다. 만약 nbconvert가 설치되어 있는 상황이라면, 무시하고 다음 단계를 실행해 주세요.


    다음으로는, jupyter nbconvert --to markdown 파일이름 이라는 명령어를 입력해서 파일 변환을 해 주면 끝입니다. 파일이름은 그냥 이름만 적지 마시고, 경로를 모두 표시해 주는 것을 잊지 마세요.

     

     

    일련의 과정을 다 거치면, ipynb 파일이 있던 폴더에 md 파일이 하나 더 생긴 것을 볼 수 있습니다. 이게 바로 마크다운 파일인데요, 혹시 md 파일을 공식 지원하는 텍스트 에디터가 없더라도 걱정하지는 마세요. 마크다운 파일의 알맹이는 사실 아무런 기능이 없는 텍스트(plain text) 형식이기 때문에, 그냥 메모장으로 열어보기만 해도 충분합니다.

     

     

    이렇게 하면, 명령어 한 줄만 입력해서 ipynb 파일을 마크다운 파일로 변환할 수 있게 되었습니다. 사실, 처음부터 마크다운 문서는 마크다운으로만 적는게 가장 품을 덜 들이는 방법이지만, 저처럼 프로그램을 만들어두고 거기에 마크다운으로 설명을 덧붙이는 습관이 있는 사람들이라면 nbconvert를 이용해서 변환하는게 제법 손에 맞을거라고 생각합니다.

    반응형

    댓글

문의: jwkang3929@naver.com