開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python (プログラミング言語)
Head First Python (Paul Barry(著)、 O'Reilly Media; )のChapter 2(Sharing your Code: Modules of functions)、EXERCISE(p.67)を解いてみる。
EXERCISE(p.67)
コード(BBEdit)
kpnester.py
#!/usr/bin/env python3 #-*- coding: utf-8 -*- """ This is the nester.py module for nested (nested...) list. function(s) printLoL(list) """ def printLoL(the_list, indent=False, level=0): """ print each data in the list( and nested list) print each line """ for each_item in the_list: if isinstance(each_item, list): printLoL(each_item, indent, level+1) else: if indent: for tag_stop in range(level): print('\t', end='') print(each_item)
setup.py
#!/usr/bin/env python3 #-*- coding: utf-8 from distutils.core import setup setup( name = 'kpnester', version = '1.1.0', py_modules = ['kpnester'], author = 'kamimura', author_email = 'kamimura@live.jp', url = 'http://sitekamimura.blogspot.com', description = 'A simple printer of nested lists', )
test_sample67.py
#!/usr/bin/env python3 #-*- coding: utf-8 import kpnester l = ['a', ['b', 'c', ['d', 'e'], ['f', 'g']], ['h', 'i']] kpnester.printLoL(l) print('*' * 50) kpnester.printLoL(l, indent=True) print('*' * 50) kpnester.printLoL(l, level=1) print('*' * 50) kpnester.printLoL(l, indent=True, level=1) print('*' * 50) kpnester.printLoL(l, True, 2)
入出力結果(Terminal)
$ python3 setup.py sdist register running sdist running check warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list) warning: sdist: standard file not found: should have one of README, README.txt writing manifest file 'MANIFEST' creating kpnester-1.1.0 making hard links in kpnester-1.1.0... hard linking kpnester.py -> kpnester-1.1.0 hard linking setup.py -> kpnester-1.1.0 Creating tar archive removing 'kpnester-1.1.0' (and everything under it) running register Registering kpnester to https://pypi.python.org/pypi Server response (200): OK $ ./test_sample67.py a b c d e f g h i ************************************************** a b c d e f g h i ************************************************** a b c d e f g h i ************************************************** a b c d e f g h i ************************************************** a b c d e f g h i $
0 コメント:
コメントを投稿