반응형
Jupyter Notebook
help()
- 파이썬 객체에 대한 요약 정보와 사용법 보기
- 기본적으로 제공되는 내장 함수
- 함수의 사용법을 얻고 싶을 때 사용
입력
help(min)
#min 함수의 사용법 조회
출력
Help on built-in function min in module builtins:
min(...)
min(iterable, *[, default=obj, key=func]) -> value
min(arg1, arg2, *args, *[, key=func]) -> value
With a single iterable argument, return its smallest item. The
default keyword-only argument specifies an object to return if
the provided iterable is empty.
With two or more arguments, return the smallest argument.
?로 설명 보기
- 객체 요약 정보 및 사용법이 있는 docstring 보기
- docstring은 함수나 클래스, 모듈에 첨부할 수 있는 문자열이다
입력
max?
출력
입력
li = ['One', 'Two', 'Three']
li?
#내가 정의한 리스트에 대해서 값, 타입, 길이를 알려줌
출력
입력
li.count?
#li 내부의 메소드 사용법 질문 가능
출력
입력
def power(a, b):
"""a의 b승을 반환"""
return pow(a, b)
power?
#내가 이전 셀에서 정의한 docstring이 출력된다
출력
입력
power??
#접근 가능한 소스코드까지 출력해서 설명함
출력
탭(tab) 자동완성
- 객체와 모듈, 인터페이스의 내용을 자동 완성
num = [1, 2, 3, 4, 5]
num.append
num.clear
#메소드 자동 완성이 가능하다
#'.'찍으면 이후 사용 가능한 메소드 목록이 나온다. 거기서 원하는 메소드를 방향키로 선택해 tab을 누르면 된다.
#원하는 메소드의 첫글자를 입력하면 이에 해당하는 메소드만 출력되어 더 찾기 편하다.
와일드카드(wildcard) 매칭
- 단어의 중간이나 마지막 글자로 매칭하여 객체나 속성 찾기
입력
*Error?
#Error로 끝나는 객체들 출력.
출력
입력
str.*index*?
#str에 속한 메소드 중 index와 연관된 메소드를 찾고싶다
출력
매직 명령어
- 단어의 중간이나 마지막 글자로 매칭하여 객체나 속성 찾기
입력
#주피터 노트북은 확장자가 ipynb(ipython notebook)으로 파이썬 파일이 아니다
#원하는 파이썬 파일을 여기에 넣고 싶을 때 writefile이라는 매직 커맨드를 사용한다
#내용은 파이썬 코드를 작성하면 된다.
# %%writefile test.txt 를 작성할 때는 명령줄 밑줄에 텍스트를 작성한 것처럼
# test.py라는 파이썬 파일을 작성할 때는 밑줄에 파이썬 명령어를 작성한다.
%%writefile test.py
print('Hello Colab')
출력
Writing test.py
입력
%run test.py
출력
Hello Colab
- 코드 실행시간 측정
입력
%%timeit?
#이 코드가 빠른지 저 코드가 빠른지 측정
출력
입력
%timeit li = [n ** n for n in range(10000)]
출력
4.94 s ± 531 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
입력
# %를 두개 붙여서 코드를 여러줄로 작성 가능
%%timeit
li = []
for n in range(10000):
li.append(n ** n)
출력
5.49 s ± 774 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
입력과 출력 이력
- In과 Out 객체를 통해 이전 명령어와 명령어의 출력 결과 보기
입력
In
#내가 지금까지 colab에서 사용한 명령어들 출력
출력
['',
'In',
'import platform \nplatform.platform()',
"get_ipython().system('cat /etc/issue.net')\n#'!'으로 명령 프롬프트에 명령어를 입력\n#'cat(concatenate)' 명령어로 파일의 내용 출력\n#'/etc/issue.net' 는 리눅스의 배너파일이다. login 이전 줄에 이 파일에 저장된 배너를 출력한다.",
"get_ipython().system('cat /proc/cpuinfo')\n#리눅스 운영체제에서 탑재된 CPU의 정보는 '/proc/cpuinfo'라는 가상 경로에 저장되어 있다.\n#'vender_id'는 intel, amd 등 여러 cpu 브랜드 중 하나가 출력. 클라우드 환경이기에 노트북마다 다름.",
'get_ipython().system(\'cat /proc/meminfo\')\n#메모리의 정보가 저장된 가상경로로 파일을 읽었다.\n#"proc"는 "process information"의 줄임말이다. /proc 디렉토리에는 시스템의 여러 가지 정보와 프로세스 관련 데이터를 가상 파일 시스템으로서 제공한다. ',
"get_ipython().system('df -h')\n#'df'는 'disk free'의 줄임말이다. 디스크의 사용량, 여유공간을 확인할 수 있다.\n#-h 옵션은 human-readable의 줄임말이다. 단위를 인간이 이해하기 쉬운 KB. MB, GB형식으로 출력한다.",
"get_ipython().system('df')\n#이용 가능한 공간과 사용 가능한 공간을 KB 단위로 출력하여 보기 불편하다.",
"get_ipython().system('python --version')",
"get_ipython().system('nvidia-smi')\n#현재 GPU 확인\n#GPU를 사용하지 않을 때 - /bin/bash: line 1: nvidia-smi: command not found\n#런타임 유형 변경으로 GPU를 사용하면 아래와 같은 결과가 나온다. Tesla T4를 사용중이다.",
"get_ipython().run_line_magic('lsmagic', '')\n#이번 실습에선 매직커맨드를 사용할 예정이라 다양한 매직 커맨드 목록을 조회해본다.\n#'ls'는 'list'의 줄임말이다.\n#'매직 커맨드(magic command)'는 IPython 인터프리터에 추가된 특수 명령어다.\n#alias 등록, 스크립트 실행, 명령어 실행 시간 확인 등의 기능이 있습니다. 매직 커맨드는 명령어 앞에 % 기호를 붙인다.",
"get_ipython().run_cell_magic('writefile', 'NotebookTest.txt', 'text\\ntest\\njupyterNobebok\\n')",
"get_ipython().system('cat NotebookTest.txt')",
"from google.colab import files\nfiles.download('NotebookTest.txt')\n#Google Colab 에서 내려받고 싶은 파일을 내려받는 명령어",
'upload = files.upload()\n#Google Colab에 파일 업로드',
"get_ipython().system('ls')\n#파일이 제대로 업로드 되었는지 확인. 업로드한 파일과 writefile 명령어로 만든 txt 파일들이 보인다.",
"from google.colab import drive\ndrive.mount('/content/drive')\n#내 구글 드라이브를 해당 경로로 마운트",
"get_ipython().system('ls /content/drive')\n#잘 마운트 되었는지 확인",
'help(min)\n#min 함수의 사용법 조회',
"get_ipython().run_line_magic('pinfo', 'max')",
"li = ['One', 'Two', 'Three']\nget_ipython().run_line_magic('pinfo', 'li')\n#내가 정의한 리스트에 대해서 값, 타입, 길이를 알려줌",
"get_ipython().run_line_magic('pinfo', 'li.count')\n#li 내부의 메소드 사용법 질문 가능",
'def power(a, b):\n """a의 b승을 반환"""\n return pow(a, b)',
"get_ipython().run_line_magic('pinfo', 'power')\n#내가 이전 셀에서 정의한 docstring이 출력된다",
"get_ipython().run_line_magic('pinfo2', 'power')\n#접근 가능한 소스코드까지 출력해서 설명함",
"num = [1, 2, 3, 4, 5]\nnum.append\nnum.clear\n#메소드 자동 완성이 가능하다\n#'.'찍으면 이후 사용 가능한 메소드 목록이 나온다. 거기서 원하는 메소드를 방향키로 선택해 tab을 누르면 된다.\n#원하는 메소드의 첫글자를 입력하면 이에 해당하는 메소드만 출력되어 더 찾기 편하다.",
"get_ipython().run_line_magic('psearch', '*Error')\n#Error로 끝나는 객체들 출력.",
"get_ipython().run_line_magic('psearch', 'str.*index*')\n#str에 속한 메소드 중 index와 연관된 메소드를 찾고싶다",
'get_ipython().run_cell_magic(\'writefile\', \'test.py\', "print(\'Hello Colab\')\\n")',
"get_ipython().run_line_magic('run', 'test.py')",
"get_ipython().run_line_magic('pinfo', '%%timeit')\n#이 코드가 빠른지 저 코드가 빠른지 측정",
"get_ipython().run_line_magic('timeit', 'li = [n ** n for n in range(10000)]')",
"get_ipython().run_cell_magic('timeit', '', 'li = []\\nfor n in range(10000):\\n li.append(n ** n)\\n')",
"get_ipython().run_line_magic('timeit', 'li = [n ** n for n in range(10000)]')",
'In\n#내가 지금까지 colab에서 사용한 명령어들 출력']
입력
In[10]
#colab에서 작성한 30번째 셀의 명령어 출력
출력
get_ipython().run_line_magic('lsmagic', '')
#이번 실습에선 매직커맨드를 사용할 예정이라 다양한 매직 커맨드 목록을 조회해본다.
#'ls'는 'list'의 줄임말이다.
#'매직 커맨드(magic command)'는 IPython 인터프리터에 추가된 특수 명령어다.
#alias 등록, 스크립트 실행, 명령어 실행 시간 확인 등의 기능이 있습니다. 매직 커맨드는 명령어 앞에 % 기호를 붙인다.
입력
Out
#결과물을 전부 저장. In은 명령어, Out은 결과
#결과 앞에 번호가 붙어있다.
출력
{1: ['',
'In',
'import platform \nplatform.platform()',
"get_ipython().system('cat /etc/issue.net')\n#'!'으로 명령 프롬프트에 명령어를 입력\n#'cat(concatenate)' 명령어로 파일의 내용 출력\n#'/etc/issue.net' 는 리눅스의 배너파일이다. login 이전 줄에 이 파일에 저장된 배너를 출력한다.",
"get_ipython().system('cat /proc/cpuinfo')\n#리눅스 운영체제에서 탑재된 CPU의 정보는 '/proc/cpuinfo'라는 가상 경로에 저장되어 있다.\n#'vender_id'는 intel, amd 등 여러 cpu 브랜드 중 하나가 출력. 클라우드 환경이기에 노트북마다 다름.",
'get_ipython().system(\'cat /proc/meminfo\')\n#메모리의 정보가 저장된 가상경로로 파일을 읽었다.\n#"proc"는 "process information"의 줄임말이다. /proc 디렉토리에는 시스템의 여러 가지 정보와 프로세스 관련 데이터를 가상 파일 시스템으로서 제공한다. ',
"get_ipython().system('df -h')\n#'df'는 'disk free'의 줄임말이다. 디스크의 사용량, 여유공간을 확인할 수 있다.\n#-h 옵션은 human-readable의 줄임말이다. 단위를 인간이 이해하기 쉬운 KB. MB, GB형식으로 출력한다.",
"get_ipython().system('df')\n#이용 가능한 공간과 사용 가능한 공간을 KB 단위로 출력하여 보기 불편하다.",
"get_ipython().system('python --version')",
"get_ipython().system('nvidia-smi')\n#현재 GPU 확인\n#GPU를 사용하지 않을 때 - /bin/bash: line 1: nvidia-smi: command not found\n#런타임 유형 변경으로 GPU를 사용하면 아래와 같은 결과가 나온다. Tesla T4를 사용중이다.",
"get_ipython().run_line_magic('lsmagic', '')\n#이번 실습에선 매직커맨드를 사용할 예정이라 다양한 매직 커맨드 목록을 조회해본다.\n#'ls'는 'list'의 줄임말이다.\n#'매직 커맨드(magic command)'는 IPython 인터프리터에 추가된 특수 명령어다.\n#alias 등록, 스크립트 실행, 명령어 실행 시간 확인 등의 기능이 있습니다. 매직 커맨드는 명령어 앞에 % 기호를 붙인다.",
"get_ipython().run_cell_magic('writefile', 'NotebookTest.txt', 'text\\ntest\\njupyterNobebok\\n')",
"get_ipython().system('cat NotebookTest.txt')",
"from google.colab import files\nfiles.download('NotebookTest.txt')\n#Google Colab 에서 내려받고 싶은 파일을 내려받는 명령어",
'upload = files.upload()\n#Google Colab에 파일 업로드',
"get_ipython().system('ls')\n#파일이 제대로 업로드 되었는지 확인. 업로드한 파일과 writefile 명령어로 만든 txt 파일들이 보인다.",
"from google.colab import drive\ndrive.mount('/content/drive')\n#내 구글 드라이브를 해당 경로로 마운트",
"get_ipython().system('ls /content/drive')\n#잘 마운트 되었는지 확인",
'help(min)\n#min 함수의 사용법 조회',
"get_ipython().run_line_magic('pinfo', 'max')",
"li = ['One', 'Two', 'Three']\nget_ipython().run_line_magic('pinfo', 'li')\n#내가 정의한 리스트에 대해서 값, 타입, 길이를 알려줌",
"get_ipython().run_line_magic('pinfo', 'li.count')\n#li 내부의 메소드 사용법 질문 가능",
'def power(a, b):\n """a의 b승을 반환"""\n return pow(a, b)',
"get_ipython().run_line_magic('pinfo', 'power')\n#내가 이전 셀에서 정의한 docstring이 출력된다",
"get_ipython().run_line_magic('pinfo2', 'power')\n#접근 가능한 소스코드까지 출력해서 설명함",
"num = [1, 2, 3, 4, 5]\nnum.append\nnum.clear\n#메소드 자동 완성이 가능하다\n#'.'찍으면 이후 사용 가능한 메소드 목록이 나온다. 거기서 원하는 메소드를 방향키로 선택해 tab을 누르면 된다.\n#원하는 메소드의 첫글자를 입력하면 이에 해당하는 메소드만 출력되어 더 찾기 편하다.",
"get_ipython().run_line_magic('psearch', '*Error')\n#Error로 끝나는 객체들 출력.",
"get_ipython().run_line_magic('psearch', 'str.*index*')\n#str에 속한 메소드 중 index와 연관된 메소드를 찾고싶다",
'get_ipython().run_cell_magic(\'writefile\', \'test.py\', "print(\'Hello Colab\')\\n")',
"get_ipython().run_line_magic('run', 'test.py')",
"get_ipython().run_line_magic('pinfo', '%%timeit')\n#이 코드가 빠른지 저 코드가 빠른지 측정",
"get_ipython().run_line_magic('timeit', 'li = [n ** n for n in range(10000)]')",
"get_ipython().run_cell_magic('timeit', '', 'li = []\\nfor n in range(10000):\\n li.append(n ** n)\\n')",
"get_ipython().run_line_magic('timeit', 'li = [n ** n for n in range(10000)]')",
'In\n#내가 지금까지 colab에서 사용한 명령어들 출력',
'In[30]\n#colab에서 작성한 30번째 셀의 명령어 출력',
'Out[2]',
'Out[30]',
'Out[31]',
'Out[2]',
'Out[31]',
'Out[7]',
'Out[6]',
'Out[5]',
'Out[2]',
'In[26]\n#colab에서 작성한 30번째 셀의 명령어 출력',
'Out'],
2: 'Linux-5.15.109+-x86_64-with-glibc2.35',
10: Available line magics:
%alias %alias_magic %autoawait %autocall %automagic %autosave %bookmark %cat %cd %clear %colors %conda %config %connect_info %cp %debug %dhist %dirs %doctest_mode %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro %magic %man %matplotlib %mkdir %more %mv %notebook %page %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %prun %psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall %rehashx %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save %sc %set_env %shell %store %sx %system %tb %tensorflow_version %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode
Available cell magics:
%%! %%HTML %%SVG %%bash %%bigquery %%capture %%debug %%file %%html %%javascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%shell %%svg %%sx %%system %%time %%timeit %%writefile
Automagic is ON, % prefix IS NOT needed for line magics.,
25: <function list.clear()>,
34: ['',
'In',
'import platform \nplatform.platform()',
"get_ipython().system('cat /etc/issue.net')\n#'!'으로 명령 프롬프트에 명령어를 입력\n#'cat(concatenate)' 명령어로 파일의 내용 출력\n#'/etc/issue.net' 는 리눅스의 배너파일이다. login 이전 줄에 이 파일에 저장된 배너를 출력한다.",
"get_ipython().system('cat /proc/cpuinfo')\n#리눅스 운영체제에서 탑재된 CPU의 정보는 '/proc/cpuinfo'라는 가상 경로에 저장되어 있다.\n#'vender_id'는 intel, amd 등 여러 cpu 브랜드 중 하나가 출력. 클라우드 환경이기에 노트북마다 다름.",
'get_ipython().system(\'cat /proc/meminfo\')\n#메모리의 정보가 저장된 가상경로로 파일을 읽었다.\n#"proc"는 "process information"의 줄임말이다. /proc 디렉토리에는 시스템의 여러 가지 정보와 프로세스 관련 데이터를 가상 파일 시스템으로서 제공한다. ',
"get_ipython().system('df -h')\n#'df'는 'disk free'의 줄임말이다. 디스크의 사용량, 여유공간을 확인할 수 있다.\n#-h 옵션은 human-readable의 줄임말이다. 단위를 인간이 이해하기 쉬운 KB. MB, GB형식으로 출력한다.",
"get_ipython().system('df')\n#이용 가능한 공간과 사용 가능한 공간을 KB 단위로 출력하여 보기 불편하다.",
"get_ipython().system('python --version')",
"get_ipython().system('nvidia-smi')\n#현재 GPU 확인\n#GPU를 사용하지 않을 때 - /bin/bash: line 1: nvidia-smi: command not found\n#런타임 유형 변경으로 GPU를 사용하면 아래와 같은 결과가 나온다. Tesla T4를 사용중이다.",
"get_ipython().run_line_magic('lsmagic', '')\n#이번 실습에선 매직커맨드를 사용할 예정이라 다양한 매직 커맨드 목록을 조회해본다.\n#'ls'는 'list'의 줄임말이다.\n#'매직 커맨드(magic command)'는 IPython 인터프리터에 추가된 특수 명령어다.\n#alias 등록, 스크립트 실행, 명령어 실행 시간 확인 등의 기능이 있습니다. 매직 커맨드는 명령어 앞에 % 기호를 붙인다.",
"get_ipython().run_cell_magic('writefile', 'NotebookTest.txt', 'text\\ntest\\njupyterNobebok\\n')",
"get_ipython().system('cat NotebookTest.txt')",
"from google.colab import files\nfiles.download('NotebookTest.txt')\n#Google Colab 에서 내려받고 싶은 파일을 내려받는 명령어",
'upload = files.upload()\n#Google Colab에 파일 업로드',
"get_ipython().system('ls')\n#파일이 제대로 업로드 되었는지 확인. 업로드한 파일과 writefile 명령어로 만든 txt 파일들이 보인다.",
"from google.colab import drive\ndrive.mount('/content/drive')\n#내 구글 드라이브를 해당 경로로 마운트",
"get_ipython().system('ls /content/drive')\n#잘 마운트 되었는지 확인",
'help(min)\n#min 함수의 사용법 조회',
"get_ipython().run_line_magic('pinfo', 'max')",
"li = ['One', 'Two', 'Three']\nget_ipython().run_line_magic('pinfo', 'li')\n#내가 정의한 리스트에 대해서 값, 타입, 길이를 알려줌",
"get_ipython().run_line_magic('pinfo', 'li.count')\n#li 내부의 메소드 사용법 질문 가능",
'def power(a, b):\n """a의 b승을 반환"""\n return pow(a, b)',
"get_ipython().run_line_magic('pinfo', 'power')\n#내가 이전 셀에서 정의한 docstring이 출력된다",
"get_ipython().run_line_magic('pinfo2', 'power')\n#접근 가능한 소스코드까지 출력해서 설명함",
"num = [1, 2, 3, 4, 5]\nnum.append\nnum.clear\n#메소드 자동 완성이 가능하다\n#'.'찍으면 이후 사용 가능한 메소드 목록이 나온다. 거기서 원하는 메소드를 방향키로 선택해 tab을 누르면 된다.\n#원하는 메소드의 첫글자를 입력하면 이에 해당하는 메소드만 출력되어 더 찾기 편하다.",
"get_ipython().run_line_magic('psearch', '*Error')\n#Error로 끝나는 객체들 출력.",
"get_ipython().run_line_magic('psearch', 'str.*index*')\n#str에 속한 메소드 중 index와 연관된 메소드를 찾고싶다",
'get_ipython().run_cell_magic(\'writefile\', \'test.py\', "print(\'Hello Colab\')\\n")',
"get_ipython().run_line_magic('run', 'test.py')",
"get_ipython().run_line_magic('pinfo', '%%timeit')\n#이 코드가 빠른지 저 코드가 빠른지 측정",
"get_ipython().run_line_magic('timeit', 'li = [n ** n for n in range(10000)]')",
"get_ipython().run_cell_magic('timeit', '', 'li = []\\nfor n in range(10000):\\n li.append(n ** n)\\n')",
"get_ipython().run_line_magic('timeit', 'li = [n ** n for n in range(10000)]')",
'In\n#내가 지금까지 colab에서 사용한 명령어들 출력',
'In[30]\n#colab에서 작성한 30번째 셀의 명령어 출력',
'Out[2]',
'Out[30]',
'Out[31]',
'Out[2]',
'Out[31]',
'Out[7]',
'Out[6]',
'Out[5]',
'Out[2]',
'In[26]\n#colab에서 작성한 30번째 셀의 명령어 출력',
'Out'],
35: "get_ipython().run_line_magic('pinfo', '%%timeit')\n#이 코드가 빠른지 저 코드가 빠른지 측정",
36: 'Linux-5.15.109+-x86_64-with-glibc2.35',
39: 'Linux-5.15.109+-x86_64-with-glibc2.35',
44: 'Linux-5.15.109+-x86_64-with-glibc2.35',
45: "get_ipython().run_line_magic('psearch', '*Error')\n#Error로 끝나는 객체들 출력."}
입력
Out[10]
#Out의 출력에 매겨진 번호를 따로 지정해 출력 가능.
출력
Available line magics:
%alias %alias_magic %autoawait %autocall %automagic %autosave %bookmark %cat %cd %clear %colors %conda %config %connect_info %cp %debug %dhist %dirs %doctest_mode %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro %magic %man %matplotlib %mkdir %more %mv %notebook %page %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %prun %psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall %rehashx %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save %sc %set_env %shell %store %sx %system %tb %tensorflow_version %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode
Available cell magics:
%%! %%HTML %%SVG %%bash %%bigquery %%capture %%debug %%file %%html %%javascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%shell %%svg %%sx %%system %%time %%timeit %%writefile
Automagic is ON, % prefix IS NOT needed for line magics.
입력
print("In[35]: " + In[35] + "\nOut[35]: " + Out[35])
#35번째 셀의 내용과 Out에 저장된 35번째 출력 결과를 print한다
출력
In[35]: In[30]
#colab에서 작성한 30번째 셀의 명령어 출력
Out[35]: get_ipython().run_line_magic('pinfo', '%%timeit')
#이 코드가 빠른지 저 코드가 빠른지 측정
- _를 이용해 이전 출력값 출력하기
입력
print(_) #언더바1
#이전 결과값 출력
출력
get_ipython().run_line_magic('lsmagic', '')
#이번 실습에선 매직커맨드를 사용할 예정이라 다양한 매직 커맨드 목록을 조회해본다.
#'ls'는 'list'의 줄임말이다.
#'매직 커맨드(magic command)'는 IPython 인터프리터에 추가된 특수 명령어다.
#alias 등록, 스크립트 실행, 명령어 실행 시간 확인 등의 기능이 있습니다. 매직 커맨드는 명령어 앞에 % 기호를 붙인다.
입력
print(__) #언더바2
#이전이전 결과값 출력
출력
Available line magics:
%alias %alias_magic %autoawait %autocall %automagic %autosave %bookmark %cat %cd %clear %colors %conda %config %connect_info %cp %debug %dhist %dirs %doctest_mode %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro %magic %man %matplotlib %mkdir %more %mv %notebook %page %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %prun %psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall %rehashx %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save %sc %set_env %shell %store %sx %system %tb %tensorflow_version %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode
Available cell magics:
%%! %%HTML %%SVG %%bash %%bigquery %%capture %%debug %%file %%html %%javascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%shell %%svg %%sx %%system %%time %%timeit %%writefile
Automagic is ON, % prefix IS NOT needed for line magics.
입력
print(___) #언더바3
#이전이전이전 결과값 출력
출력
['', 'In', 'import platform \nplatform.platform()', "get_ipython().system('cat /etc/issue.net')\n#'!'으로 명령 프롬프트에 명령어를 입력\n#'cat(concatenate)' 명령어로 파일의 내용 출력\n#'/etc/issue.net' 는 리눅스의 배너파일이다. login 이전 줄에 이 파일에 저장된 배너를 출력한다.", "get_ipython().system('cat /proc/cpuinfo')\n#리눅스 운영체제에서 탑재된 CPU의 정보는 '/proc/cpuinfo'라는 가상 경로에 저장되어 있다.\n#'vender_id'는 intel, amd 등 여러 cpu 브랜드 중 하나가 출력. 클라우드 환경이기에 노트북마다 다름.", 'get_ipython().system(\'cat /proc/meminfo\')\n#메모리의 정보가 저장된 가상경로로 파일을 읽었다.\n#"proc"는 "process information"의 줄임말이다. /proc 디렉토리에는 시스템의 여러 가지 정보와 프로세스 관련 데이터를 가상 파일 시스템으로서 제공한다. ', "get_ipython().system('df -h')\n#'df'는 'disk free'의 줄임말이다. 디스크의 사용량, 여유공간을 확인할 수 있다.\n#-h 옵션은 human-readable의 줄임말이다. 단위를 인간이 이해하기 쉬운 KB. MB, GB형식으로 출력한다.", "get_ipython().system('df')\n#이용 가능한 공간과 사용 가능한 공간을 KB 단위로 출력하여 보기 불편하다.", "get_ipython().system('python --version')", "get_ipython().system('nvidia-smi')\n#현재 GPU 확인\n#GPU를 사용하지 않을 때 - /bin/bash: line 1: nvidia-smi: command not found\n#런타임 유형 변경으로 GPU를 사용하면 아래와 같은 결과가 나온다. Tesla T4를 사용중이다.", "get_ipython().run_line_magic('lsmagic', '')\n#이번 실습에선 매직커맨드를 사용할 예정이라 다양한 매직 커맨드 목록을 조회해본다.\n#'ls'는 'list'의 줄임말이다.\n#'매직 커맨드(magic command)'는 IPython 인터프리터에 추가된 특수 명령어다.\n#alias 등록, 스크립트 실행, 명령어 실행 시간 확인 등의 기능이 있습니다. 매직 커맨드는 명령어 앞에 % 기호를 붙인다.", "get_ipython().run_cell_magic('writefile', 'NotebookTest.txt', 'text\\ntest\\njupyterNobebok\\n')", "get_ipython().system('cat NotebookTest.txt')", "from google.colab import files\nfiles.download('NotebookTest.txt')\n#Google Colab 에서 내려받고 싶은 파일을 내려받는 명령어", 'upload = files.upload()\n#Google Colab에 파일 업로드', "get_ipython().system('ls')\n#파일이 제대로 업로드 되었는지 확인. 업로드한 파일과 writefile 명령어로 만든 txt 파일들이 보인다.", "from google.colab import drive\ndrive.mount('/content/drive')\n#내 구글 드라이브를 해당 경로로 마운트", "get_ipython().system('ls /content/drive')\n#잘 마운트 되었는지 확인", 'help(min)\n#min 함수의 사용법 조회', "get_ipython().run_line_magic('pinfo', 'max')", "li = ['One', 'Two', 'Three']\nget_ipython().run_line_magic('pinfo', 'li')\n#내가 정의한 리스트에 대해서 값, 타입, 길이를 알려줌", "get_ipython().run_line_magic('pinfo', 'li.count')\n#li 내부의 메소드 사용법 질문 가능", 'def power(a, b):\n """a의 b승을 반환"""\n return pow(a, b)', "get_ipython().run_line_magic('pinfo', 'power')\n#내가 이전 셀에서 정의한 docstring이 출력된다", "get_ipython().run_line_magic('pinfo2', 'power')\n#접근 가능한 소스코드까지 출력해서 설명함", "num = [1, 2, 3, 4, 5]\nnum.append\nnum.clear\n#메소드 자동 완성이 가능하다\n#'.'찍으면 이후 사용 가능한 메소드 목록이 나온다. 거기서 원하는 메소드를 방향키로 선택해 tab을 누르면 된다.\n#원하는 메소드의 첫글자를 입력하면 이에 해당하는 메소드만 출력되어 더 찾기 편하다.", "get_ipython().run_line_magic('psearch', '*Error')\n#Error로 끝나는 객체들 출력.", "get_ipython().run_line_magic('psearch', 'str.*index*')\n#str에 속한 메소드 중 index와 연관된 메소드를 찾고싶다", 'get_ipython().run_cell_magic(\'writefile\', \'test.py\', "print(\'Hello Colab\')\\n")', "get_ipython().run_line_magic('run', 'test.py')", "get_ipython().run_line_magic('pinfo', '%%timeit')\n#이 코드가 빠른지 저 코드가 빠른지 측정", "get_ipython().run_line_magic('timeit', 'li = [n ** n for n in range(10000)]')", "get_ipython().run_cell_magic('timeit', '', 'li = []\\nfor n in range(10000):\\n li.append(n ** n)\\n')", "get_ipython().run_line_magic('timeit', 'li = [n ** n for n in range(10000)]')", 'In\n#내가 지금까지 colab에서 사용한 명령어들 출력', 'In[30]\n#colab에서 작성한 30번째 셀의 명령어 출력', 'Out[2]', 'Out[30]', 'Out[31]', 'Out[2]', 'Out[31]', 'Out[7]', 'Out[6]', 'Out[5]', 'Out[2]', 'In[26]\n#colab에서 작성한 30번째 셀의 명령어 출력', 'Out', 'Out[1]', 'Out[10]', 'In[10]\n#colab에서 작성한 30번째 셀의 명령어 출력', 'print("In[10]: "+In[10]+"\\nOut[10]: "+Out[10])', 'print("In[10]: " + In[10] + "\\nOut[10]: " + Out[10])', 'print("In[10]: " + In[35] + "\\nOut[10]: " + Out[35])', 'print("In[35]: " + In[35] + "\\nOut[35]: " + Out[35])', 'print(_)', 'print(_)', 'print(__)', 'print("In[35]: " + In[35] + "\\nOut[35]: " + Out[35])\n#35번째 셀의 내용과 Out에 저장된 35번째 출력 결과를 print한다', 'print(_)', 'print(___)']
입력
_10
#10번째 결과 출력
#N번째 출력값을 출력하는 것이기에 Out으로 출력되는 번호만 가능하다
출력
Available line magics:
%alias %alias_magic %autoawait %autocall %automagic %autosave %bookmark %cat %cd %clear %colors %conda %config %connect_info %cp %debug %dhist %dirs %doctest_mode %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro %magic %man %matplotlib %mkdir %more %mv %notebook %page %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %prun %psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall %rehashx %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save %sc %set_env %shell %store %sx %system %tb %tensorflow_version %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode
Available cell magics:
%%! %%HTML %%SVG %%bash %%bigquery %%capture %%debug %%file %%html %%javascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%shell %%svg %%sx %%system %%time %%timeit %%writefile
Automagic is ON, % prefix IS NOT needed for line magics.
- %history를 이용한 입력 이력 살펴보기
입력
%history?
#매직 메소드에 사용 가능한 옵션 보기
출력
입력
%history -n 1-7
#1번부터 7번까지의 명령어 출력
출력
1: In
2:
import platform
platform.platform()
3:
!cat /etc/issue.net
#'!'으로 명령 프롬프트에 명령어를 입력
#'cat(concatenate)' 명령어로 파일의 내용 출력
#'/etc/issue.net' 는 리눅스의 배너파일이다. login 이전 줄에 이 파일에 저장된 배너를 출력한다.
4:
!cat /proc/cpuinfo
#리눅스 운영체제에서 탑재된 CPU의 정보는 '/proc/cpuinfo'라는 가상 경로에 저장되어 있다.
#'vender_id'는 intel, amd 등 여러 cpu 브랜드 중 하나가 출력. 클라우드 환경이기에 노트북마다 다름.
5:
!cat /proc/meminfo
#메모리의 정보가 저장된 가상경로로 파일을 읽었다.
#"proc"는 "process information"의 줄임말이다. /proc 디렉토리에는 시스템의 여러 가지 정보와 프로세스 관련 데이터를 가상 파일 시스템으로서 제공한다.
6:
!df -h
#'df'는 'disk free'의 줄임말이다. 디스크의 사용량, 여유공간을 확인할 수 있다.
#-h 옵션은 human-readable의 줄임말이다. 단위를 인간이 이해하기 쉬운 KB. MB, GB형식으로 출력한다.
7:
!df
#이용 가능한 공간과 사용 가능한 공간을 KB 단위로 출력하여 보기 불편하다.
- %rerun을 이용해 이전 입력 다시 실행
입력
%rerun
#이전에 사용한 명령어 실행
출력
=== Executing: ===
%history -n 1-7
#1번부터 7번까지의 명령어 출력
=== Output: ===
1: In
2:
import platform
platform.platform()
3:
!cat /etc/issue.net
#'!'으로 명령 프롬프트에 명령어를 입력
#'cat(concatenate)' 명령어로 파일의 내용 출력
#'/etc/issue.net' 는 리눅스의 배너파일이다. login 이전 줄에 이 파일에 저장된 배너를 출력한다.
4:
!cat /proc/cpuinfo
#리눅스 운영체제에서 탑재된 CPU의 정보는 '/proc/cpuinfo'라는 가상 경로에 저장되어 있다.
#'vender_id'는 intel, amd 등 여러 cpu 브랜드 중 하나가 출력. 클라우드 환경이기에 노트북마다 다름.
5:
!cat /proc/meminfo
#메모리의 정보가 저장된 가상경로로 파일을 읽었다.
#"proc"는 "process information"의 줄임말이다. /proc 디렉토리에는 시스템의 여러 가지 정보와 프로세스 관련 데이터를 가상 파일 시스템으로서 제공한다.
6:
!df -h
#'df'는 'disk free'의 줄임말이다. 디스크의 사용량, 여유공간을 확인할 수 있다.
#-h 옵션은 human-readable의 줄임말이다. 단위를 인간이 이해하기 쉬운 KB. MB, GB형식으로 출력한다.
7:
!df
#이용 가능한 공간과 사용 가능한 공간을 KB 단위로 출력하여 보기 불편하다.
셸 명령어
- 텍스트 기반의 셸 명령어 처리
- ! 문자를 명령어 앞에 붙여서 셸 명령어 사용 가능
- ls: 디렉토리 리스트 보기
입력
!ls
#list
출력
drive NotebookTest.txt sample_data test.py
- pwd: 현재 경로 보기
입력
!pwd
#print working directory
출력
/content
- cd: 디렉토리 변경
- IPython에서는 임시 셸에서 실행
입력
!cd sample_data/ && ls
#cd명령이 셀에서만 적용되어 디렉토리를 변경하자마자 실행하지 않으면 다시 원상복구 됨
출력
anscombe.json mnist_test.csv
california_housing_test.csv mnist_train_small.csv
california_housing_train.csv README.md
- %cd: 지속적인 디렉토리 변경
입력
%cd sample_data/
출력
/content/sample_data
- echo: 화면 출력
입력
!echo "hello"
출력
hello
- mkdir: 디렉토리 생성
입력
!mkdir tmp
#make directory
!ls
출력
anscombe.json mnist_test.csv tmp
california_housing_test.csv mnist_train_small.csv
california_housing_train.csv README.md
- cat: 파일 보기
입력
!cat README.md
출력
This directory includes a few sample datasets to get you started.
* `california_housing_data*.csv` is California housing data from the 1990 US
Census; more information is available at:
https://developers.google.com/machine-learning/crash-course/california-housing-data-description
* `mnist_*.csv` is a small sample of the
[MNIST database](https://en.wikipedia.org/wiki/MNIST_database), which is
described at: http://yann.lecun.com/exdb/mnist/
* `anscombe.json` contains a copy of
[Anscombe's quartet](https://en.wikipedia.org/wiki/Anscombe%27s_quartet); it
was originally described in
Anscombe, F. J. (1973). 'Graphs in Statistical Analysis'. American
Statistician. 27 (1): 17-21. JSTOR 2682899.
and our copy was prepared by the
[vega_datasets library](https://github.com/altair-viz/vega_datasets/blob/4f67bdaad10f45e3549984e17e1b3088c731503d/vega_datasets/_data/anscombe.json).
- cp: 디렉토리/파일 복사
입력
!cp README.md tmp/
#tmp 폴더에 현재 폴더의 README.md 파일 복사
!ls tmp/
출력
README.md
- rm: 디렉토리/파일 삭제
입력
!rm -r tmp
#tmp 디렉토리와 내용물을 전부 지워버리는 명령어
# -r 옵션은 반복적으로 전부 지워버리는 옵션이다
!ls
#tmp 디렉토리가 사라졌다
출력
anscombe.json mnist_test.csv
california_housing_test.csv mnist_train_small.csv
california_housing_train.csv README.md
반응형
'프로그래밍 > IT 이것저것' 카테고리의 다른 글
docker container, image run (0) | 2023.08.22 |
---|---|
docker context에 대해 (colima와 desktop-lunux) (0) | 2023.08.22 |
Google Colab 사용법 정리 - 1.Google Colab (0) | 2023.08.05 |
온라인 무료 클라우드 주피터 노트북 환경 선택 (chatGPT) (0) | 2023.07.30 |
구글 colab 세션 끊김 문제 (chatGPT) (0) | 2023.07.30 |