๐ Colab & Jupyter์์ !, %, %% ํน์ ๋ช ๋ น์ด Magic commands ์๋ฒฝ ์ ๋ฆฌ
โ Shell ๋ช ๋ น์ด์ Magic ๋ช ๋ น์ด์ ์ฐจ์ด, ์ฌ์ฉ๋ฒ, ์ ์ฒด ๋ฆฌ์คํธ๊น์ง!
Colab์ด๋ Jupyter Notebook ํ๊ฒฝ์์๋ ์ผ๋ฐ Python ์ฝ๋ ์ธ์๋ !, %, %% ๊ฐ์ ํน์ ๊ธฐํธ๋ฅผ ํตํด
ํฐ๋ฏธ๋ ๋ช
๋ น์ด๋ ์ ํธ ๊ธฐ๋ฅ์ ๋ฐ๋ก ์คํํ ์ ์์.
ํ์ง๋ง ์ฒ์ ์ฐ๋ฉด ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ์ด ๋ง์ โ ํนํ !cd์ %cd, !pip์ %pip์ฒ๋ผ
๊ธฐ๋ฅ์ ๋น์ทํด ๋ณด์ด๋๋ฐ ๋์ ๋ฐฉ์์ด ์์ ํ ๋ค๋ฅธ ๋ช
๋ น์ด๋ค์ด ์์.
์ด ๊ธ์์๋ ์ด ์ธ ๊ฐ์ง ๊ธฐํธ๊ฐ ๋ฌด์์ ์๋ฏธํ๊ณ , ์ด๋ป๊ฒ ๋ค๋ฅด๊ฒ ๋์ํ๋ฉฐ,
์ธ์ ์ด๋ค ๊ฑธ ์จ์ผ ํ๋์ง ์ ์ฒด์ ์ผ๋ก ์ ๋ฆฌํด๋ด.
โ 1. ! ๋ช ๋ น์ด โ Shell Command Operator (์ ๋ช ๋ น ์คํ์)
๐ ์ ์
!๋ Python ์ฝ๋ ์
์์์ ๋ฆฌ๋
์ค ์
ธ ๋ช
๋ น์ด(Bash ๋ช
๋ น์ด)๋ฅผ ์คํํ ๋ ์ฌ์ฉํ๋ ๊ธฐํธ์.
Colab์ Python ์ฝ๋ ์คํ ํ๊ฒฝ์ด์ง๋ง, !๋ฅผ ๋ถ์ด๋ฉด ํด๋น ์ค์ ํฐ๋ฏธ๋์ฒ๋ผ ํด์ํด์ ์คํํจ.
๐ ์ฌ์ฉ ์์
!pip install pandas # pip๋ก ํจํค์ง ์ค์น
!ls -al # ํ์ฌ ๋๋ ํ ๋ฆฌ์ ํ์ผ ๋ชฉ๋ก ๋ณด๊ธฐ
!nvidia-smi # GPU ์ํ ํ์ธ
!wget http://example.com/file.csv # ์ธ๋ถ ํ์ผ ๋ค์ด๋ก๋
โ 2. %, %% ๋ช ๋ น์ด โ Magic Command (๋งค์ง ๋ช ๋ น์ด)
๐ ์ ์
%์ %%๋ IPython์์ ์ ๊ณตํ๋ ํน์ ๋ช
๋ น์ด๋ก, Python ํ๊ฒฝ ๋ด์์
์ ํธ๋ฆฌํฐ ๊ธฐ๋ฅ์ ๊ฐํธํ๊ฒ ์ํํ ์ ์๊ฒ ํด์ฃผ๋ ํ์ฅ ๊ธฐ๋ฅ์.
- % โ ํ ์ค์ ์ ์ฉํ๋ ๋ผ์ธ ๋งค์ง(line magic)
- %% โ ์ ์ ์ฒด์ ์ ์ฉํ๋ ์ ๋งค์ง(cell magic)
๐ ! vs % ์ฐจ์ด์ ์ ๋ฆฌ
ํญ๋ชฉ | ! (Shell ๋ช ๋ น์ด) | %, %% (Magic ๋ช ๋ น์ด) |
๊ธฐ๋ฅ | ํฐ๋ฏธ๋ ๋ช ๋ น ์คํ | IPython ๋ด๋ถ ๊ธฐ๋ฅ ์คํ |
์์ | ์์คํ Bash ์ ธ | IPython ํ๊ฒฝ |
์คํ ๋์ | ํ์ผ ์์คํ , ๋ฆฌ๋ ์ค ๋ช ๋ น์ด | Python ์ธ์ ๋๋ Jupyter ํนํ ๊ธฐ๋ฅ |
์ง์์ฑ | ์ ๋ง๋ค ์ ์ ธ์์ ์คํ๋จ (์ผ์์ ) | ์ธ์ ์ ์ฒด์ ์ ์ฉ๋จ (์์์ ) |
์์ | !pip install, !ls | %cd, %time, %%writefile |
โ %cd vs !cd โ ๊ฐ์ฅ ํท๊ฐ๋ฆฌ๋ ์ฐจ์ด
- cd๋ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด์ง๋ง, !cd๋ ํจ๊ณผ๊ฐ ์์.
- ์ด์ ๋ !cd๊ฐ ์์ ์
ธ์์๋ง ๋๋ ํ ๋ฆฌ ์ด๋์ ํ๊ธฐ ๋๋ฌธ์.
์ ์ด ๋๋๋ฉด ๋ฐ๋ก ์๋ ๋๋ ํ ๋ฆฌ๋ก ๋์๊ฐ. - ๋ฐ๋ฉด %cd๋ ํ์ฌ Python ์คํ ์ธ์ ์ ์์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ค์ ๋ก ๋ณ๊ฒฝํจ.
%cd /content/drive/ โ
๋๋ ํ ๋ฆฌ ๋ณ๊ฒฝ ์ฑ๊ณต
!cd /content/drive/ โ ๋ค์ ์
์์ ๋ฐ์ ์ ๋จ
๐ง ๋งค์ง ๋ช ๋ น์ด ์ ์ฒด ๋ฆฌ์คํธ ํ์ธํ๊ธฐ
%lsmagic
์ด ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ์ฌ์ฉ ๊ฐ๋ฅํ line magic๊ณผ cell magic ๋ช ๋ น์ด ๋ชฉ๋ก์ด ์ถ๋ ฅ๋จ.
๐น ์์ฃผ ์ฐ๋ ๋ผ์ธ ๋งค์ง ๋ช ๋ น์ด (%)
๋ช ๋ น์ด | ๊ธฐ๋ฅ | ์์ |
%cd | ๋๋ ํ ๋ฆฌ ์ด๋ | %cd /content/drive/ |
%pwd | ํ์ฌ ๊ฒฝ๋ก ํ์ธ | %pwd |
%env | ํ๊ฒฝ ๋ณ์ ์ค์ | %env MY_VAR=value |
%pip install | pip๋ก ํจํค์ง ์ค์น | %pip install pandas |
%time | ์คํ ์๊ฐ ์ธก์ (ํ ์ค) | %time sum(range(10000)) |
%timeit | ํ๊ท ์คํ ์๊ฐ ์ธก์ | %timeit sum(range(10000)) |
%who | ํ์ฌ ๋ณ์ ๋ชฉ๋ก ๋ณด๊ธฐ | %who |
%whos | ๋ณ์ ๋ชฉ๋ก + ํ์ /๊ฐ ๋ณด๊ธฐ | %whos |
%reset | ๋ณ์ ์ ์ฒด ์ญ์ | %reset |
๐ธ ์์ฃผ ์ฐ๋ ์ ๋งค์ง ๋ช ๋ น์ด (%%)
๋ช ๋ น์ด | ๊ธฐ๋ฅ | ์์ |
%%time | ์ ์ ์ฒด ์คํ ์๊ฐ ์ธก์ | %%time + ์ฝ๋ |
%%bash | ์ ์ ์ฒด๋ฅผ Bash๋ก ์คํ | %%bash + ์ ๋ช ๋ น |
%%writefile | ์ ๋ด์ฉ์ ํ์ผ๋ก ์ ์ฅ | %%writefile hello.py |
%%capture | ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์์ ์ ์ฅ | %%capture output |
%%html | ์ ๋ด์ฉ์ HTML๋ก ๋ ๋๋ง | %%html <h1>Hello</h1> |
๐ฆ pip install์ !pip vs %pip ์ค ๋ญ๊ฐ ๋ ๋์๊ฐ?
- Colab์ด๋ Jupyter์์๋ %pip install ์ฌ์ฉ์ ๊ถ์ฅํจ.
- !pip install๋ ๋๊ธด ํ์ง๋ง, %pip๋ IPython์์ ๋ ์ ํตํฉ๋๊ณ
ํ๊ฒฝ ๊ด๋ฆฌ ์ธก๋ฉด์์ ๋ ์์ ์ ์ผ๋ก ์๋ํจ.
%pip install numpy โ
๊ถ์ฅ ๋ฐฉ์
!pip install numpy ๐ธ ๊ฐ๋ฅ์ ํ์ง๋ง ์ธ์
์ถฉ๋ ๊ฐ๋ฅ์ฑ ์์
๐ง ์ต์ข ์์ฝ
๊ธฐํธ | ๋ช ์นญ | ๊ธฐ๋ฅ | ์์ |
! | ์ ๋ช ๋ น ์คํ๊ธฐ | ๋ฆฌ๋ ์ค ๋ช ๋ น์ด ์คํ | !ls, !pip install |
% | ๋ผ์ธ ๋งค์ง | ํ ์ค ํ์ฅ ๊ธฐ๋ฅ ์คํ | %cd, %time |
%% | ์ ๋งค์ง | ์ ์ ์ฒด ํ์ฅ ๊ธฐ๋ฅ ์คํ | %%bash, %%time |
'Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python] ๋ฐ์ดํฐ ์์ง - ์น ํฌ๋กค๋ง (0) | 2025.03.25 |
---|---|
[Colab] Oracle โ MySQL: ngrok๊ณผ Pandas๋ก ๊ตฌํํ๋ ์ธ๋ถ DB ์ฐ๋ ์ค์ต ๊ฐ์ด๋ (0) | 2025.03.24 |
[Python] Python ๋ชจ๋์ import ๋ฐ from import ์ ๋ฆฌ (0) | 2025.03.19 |
[python] ํ์ด์ฌ sequence ์๋ฃํ (0) | 2021.12.19 |
[python] ํ์ด์ฌ ์ซ์ ๊ฐ ์๋ฆฌ์ ๋ถ๋ฆฌ (0) | 2021.12.17 |
๋๊ธ