파이썬 모듈/패키징 프로그래밍의 __init__.py를 활용한 예제이다.
__init__.py은 파이썬 3.3부터는 없어도 잘 동작하지만 호환성을 위해서 둔다.
개념은 파이썬 스터디 싸이트가 잘 되어 있다.
http://pythonstudy.xyz/python/article/18-%ED%8C%A8%ED%82%A4%EC%A7%80
간단한 예시를 만든다.
$ mkdir -p module
$ touch module/__init__.py
xxx라는 모듈을 추가한다.
$ cat > module/xxx.py
def echo():
print("echo")
$ ls -al module/
-rw-r--r-- 1 samuel.kim staff 0 9 7 12:30 __init__.py
-rw-r--r-- 1 samuel.kim staff 27 9 7 12:31 xxx.py
이제 python 인터프리터에서 xxx.py의 echo()를 호출한다.
$ python
Python 3.6.2 (default, Sep 5 2017, 15:21:12)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from module.xxx import echo
>>> echo
<function echo at 0x10c25d268>
>>> echo ()
echo
>>> echo()
echo
잘동작한다.
이번에는 yyy.py에서 xxx.py의 echo()를 호출하는 예이다.
$ cat > module/yyy.py
from module.xxx import echo
def test():
echo()
print("Test")
>>> from module.yyy import test
>>> test()
echo
Test
https://github.com/kjam/wswp 를 다운받아서 코드를 실행하고 싶다면,
code 디렉토 밑에서 python을 실행하고 다음과 같이 파이썬 모듈을 실행할 수 있다.
>>> from chp1.advanced_link_crawler import link_crawler
>>> start_url = 'http://example.webscraping.com/index'
>>> link_regex = '/(index|view)'
>>> link_crawler(start_url, link_regex, user_agent='BadCrawler')
Downloading: http://example.webscraping.com/index
'python' 카테고리의 다른 글
[python] pickle 예시 (0) | 2018.09.12 |
---|---|
[python] urlsplit 예제 (0) | 2018.09.12 |
[python] whois 모듈 (0) | 2018.09.03 |
[python] OptionParser 활용하는 사례 (0) | 2018.07.04 |
[python] pytz의 평양/서울 시간 버그 (0) | 2018.06.19 |