Script를 활용하자.¶
- 외부 파일
In [1]:
# check home directory
%pwd
Out[1]:
다음 스크립트를 미리 작성해 둬야 한다.¶
- test.py
- demo.py
- demo2.py
test.py¶
message = "Hello how are you?"
for word in message.split():
print (word)
In [2]:
!cat test.py
In [3]:
%run test.py
demo.py¶
"A demo module."
def print_b():
"Prints b."
print ('b')
def print_a():
"Prints a."
print ('a')
c = 2
d = 2
In [4]:
import demo
In [5]:
demo.print_a()
In [6]:
demo.print_b()
In [7]:
demo.c
Out[7]:
In [8]:
demo.d
Out[8]:
In [9]:
help(demo)
In [10]:
## 지금까지 사용한 변수가 무엇이며, 그 변수에 대한 자세한 설명
%whos
In [11]:
# demo의 메소드 목록 출력
dir(demo)
Out[11]:
In [12]:
from demo import print_a, print_b
demo 모듈 안에서 print_a, print_b만 import
In [13]:
%whos
In [14]:
print_a()
In [15]:
## 기존의 값을 reset
%reset
from demo import *
In [16]:
%whos
demo2.py
def print_b():
"Prints b."
print ('b')
def print_a():
"Prints a."
print ('a')
# print_b() runs on import
print_b()
if __name__ == '__main__':
# print_a() is only executed when the module is run directly.
print_a()
In [17]:
import demo2
In [18]:
import demo2
if __name__ == '__main__':
# print_a() is only executed when the module is run directly.
print_a()
위 코드 때문에 처음 demo2 모듈을 불러왔을 때만 출력을 한다. 두 번째부터는 출력을 하지 않음.¶
In [19]:
!python demo2.py
Package 패키지¶
복수의 모듈을 tree구조로 만들어서 사용
__init__.py
파일이 포함된 디렉토리 → Main!!
sound/ Top-level package
__init__.py Initialize the sound package
formats/ Subpackage for file format conversions
__init__.py
wavread.py
wavwrite.py
aiffread.py
aiffwrite.py
auread.py
auwrite.py
...
effects/ Subpackage for sound effects
__init__.py
echo.py
surround.py
reverse.py
...
filters/ Subpackage for filters
__init__.py
equalizer.py
vocoder.py
karaoke.py
...