파이썬 모듈/패키징 프로그래밍의 __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
파이썬 모듈 프로그래밍 예시 - __init__.py  (0) 2018.09.07
[python] whois 모듈  (0) 2018.09.03
[python] OptionParser 활용하는 사례  (0) 2018.07.04
[python] pytz의 평양/서울 시간 버그  (0) 2018.06.19
Posted by 김용환 '김용환'