Raspberry Pi 日記

長嶋 洋一


2013年6月9日(日)

時間学会の2日目である。 長期天気予想とは外れて、朝からかなり雨が降っているが、帰る頃には雲の切れ間になりそうである。 SLやまぐち号に乗る時に雨が上がっていることを期待しよう。 昨日は懇親会の後でまた「かもん」に行って、18曲ほど熱唱した。

午前中は時間学会総会で、東京都の猪瀬知事の「日本標準時を2時間早める」という無茶苦茶な提案に対して、時間学会としてそれは無茶苦茶だろう、と提言する案とか、来年の時間学会は九州の大牟田の近くで、というような事があった。 けっこうちゃんと議論していたので、あまり内職は出来なかったが、ようやく某総選挙の結果を知った(^_^;)。 電波が1本しか立っていないのの、モバイルWiFiルータは快適にネットと接続してくれているので、ふーみんとメイルでやりとりしていたPureDataをRaspberry Piに入れる、というアイデアに関連して、 ここ をブックマークして、とりあえず2種類あるというので これこれ をダウンロードしてみたが、どうも ここ の記述だと、「Pd vanilla (or simply Pd)」は「the core of Pure Data, mainly written by Miller Puckette, focusing on audio signal and MIDI processing」で十分かと思ったら、「Pd extended」は「a version of Pd vanilla that comes with many libraries written by the community. Pd extended can be used for graphics rendering (GEM library), OSC communications, binary file processing, audio-visual streaming, physical modeling, sensor-based performances, and much more」ということなので、OSCを使えるという意味で最終的には「Pd extended」の方がいいのかもしれない。

午後の一般発表の最初のセッションは、3件とも考古学とか論理学とか哲学の「濃い」もので、ある意味では内職タイム候補であるが、判らないなりに面白いのが時間学会の発表なので(^_^;)、なかなかPdに着手する気にはならない。 上のように、とりあえず解凍した2種類のPdを実行させて、メニューからヘルプを引いたところ、Pd extendedではヘルプをオンラインに取りに行くのに対して、Pd vanillaのHTMLヘルプはオフラインで完備していた。 ということは、Pd vanillaは浜松に帰る「のぞみ」の車内のネタとして好適かもしれない。

・・・と上に書いたのは午後イチであったが、ここを書いているのは新幹線「のぞみ」の車中、ちょうど岡山駅である。 予定は未定である、というのはまさに時間学会的な言葉であるが、やはり予定は予定であって未定だった。 午後の3番目のセッションの2番目の発表の途中で、予定通りに予約したタクシーで湯田温泉駅に行ったところまでは、水曜日に人間ドックがあるので、無駄な足掻きとはいえ帰途は飲まないつもりだった。 しかし、指定を取っていたSL「やまぐち号」のC571が来てみるとテンションが上がり(^_^;)、やはり新山口駅ではワインとかあれこれを仕入れて、美味しく飲みつつの帰途となった。

そこで、とてもPdを試す余裕はないのだが、せめて今回の出張は3日ともRaspberry Piに関連してPythonを勉強した、という足跡を残す意味で、岡山から乗り換えの新神戸までの30分に、少しだけでも進めることにした。 新しいセクションは「6. Modules」である。 Pythonインタプリタでは、入れたものが全て出ると消えているので、これをスクリプトファイルに書き出して利用する、ということらしい。 しかし、これは既にやってきてことだ(^_^;)。

# Fibonacci numbers module

def fib(n):    # write Fibonacci series up to n
    a, b = 0, 1
    while b < n:
        print(b)
        a, b = b, a+b
    print()

def fib2(n): # return Fibonacci series up to n
    result = []
    a, b = 0, 1
    while b < n:
        result.append(b)
        a, b = b, a+b
    return result
最初のサンプルとして、上のリストを「fibo.py」としてカレントディレクトリに保存した。 冒頭におまじないの「#! /usr/bin/env python3.3」を入れていないのがポイントかもしれない。 これを用意した上で、以下が実行できますよ、という事らしい。
nagasm-3:Desktop nagasm$ cat test.py
#! /usr/bin/env python3.3
import fibo
print(fibo.fib(300))
print(fibo.__name__)
fib = fibo.fib
print (fib(500))

nagasm-3:Desktop nagasm$ Python test.py
1
1
2
3
5
8
13
21
34
55
89
144
233
()
None
fibo
1
1
2
3
5
8
13
21
34
55
89
144
233
377
()
None
nagasm-3:Desktop nagasm$ 
そして「6.1. More on Modules」の「6.1.1. Executing modules as scripts」では、既にやっていたが、Pythonスクリプトを実行可能にする手法が紹介されていた。 次の「6.1.2. The Module Search Path」を読み流して、その次の「6.1.3. “Compiled” Python files」は、フト昨日から気になっていた重要なトピックである。 Pythonインタプリタ内ではもちろん、おそらくシェル(ターミナル)内で「Python test.py」とやった場合は、やはりPythonモジュールが呼び出されて、Pythonスクリプトファイルを読み込みながら逐次実行しているように気がしたのである。 BASICコンパイラのようにバイナリにコンパイルできないか、知りたかったのである。

Pythonプログラムについては、バイナリ実行形式に変換された場合には「.pyc」という拡張子が付くらしい。 ただしBASICコンパイラと違って、明示的に「****.pyc」を作る必要は無いという。 Pythonインタプリタに対して「-O」フラグを付けて「.py」プログラムを実行すると、自動でバイトコード(プラットフォームに依存しない)が生成されて、その後に「.pyc」が呼ばれれば実行できる。 エラーがあれば「.pyc」は出来ず、呼んでも暖かく無視されるらしい。 いくつか「エキスパートのためのトピック」というのが続いていたが、まぁここは深入り不要かな。

・・・ここはもう、新神戸で「のぞみ」から乗り換えた「ひかり」が京都から名古屋に向かう車中である。 既に250cc+180ccの美味しいワインと「晋三ちくわ(前面に安倍首相の顔(^_^;))」「ふぐの骨の唐揚げ」などをいただいている。 さて次の「6.2. Standard Modules」というのは、たぶんC言語の「stdio.h」みたいなものだろうか。 とりあえず以下のサンプルをコピペしたが、あまり関係なさげである。

>>> import sys
>>> sys.ps1
'>>> '
>>> sys.ps2
'... '
>>> sys.ps1 = 'C> '
C> print('Yuck!')
Yuck!
C>
次のトピック「6.3. The dir() Function」は、ビルトイン関数「dir()」であるが、以下を見ると、もう「ご馳走さま」である。
>>> import fibo, sys
>>> dir(fibo)
['__name__', 'fib', 'fib2']
>>> dir(sys)  
['__displayhook__', '__doc__', '__egginsert', '__excepthook__',
 '__loader__', '__name__', '__package__', '__plen', '__stderr__',
 '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames',
 '_debugmallocstats', '_getframe', '_home', '_mercurial', '_xoptions',
 'abiflags', 'api_version', 'argv', 'base_exec_prefix', 'base_prefix',
 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats',
 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_info',
 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info',
 'float_repr_style', 'getcheckinterval', 'getdefaultencoding',
 'getdlopenflags', 'getfilesystemencoding', 'getobjects', 'getprofile',
 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval',
 'gettotalrefcount', 'gettrace', 'hash_info', 'hexversion',
 'implementation', 'int_info', 'intern', 'maxsize', 'maxunicode',
 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache',
 'platform', 'prefix', 'ps1', 'setcheckinterval', 'setdlopenflags',
 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace',
 'stderr', 'stdin', 'stdout', 'thread_info', 'version', 'version_info',
 'warnoptions']
この「dir()」で表示されるのは、ビルトイン関数でない「variables, modules, functions, etc.」の名前である。 ビルトイン関数の一覧を見たい場合には、以下の「builtins」を使うという。 うーーむ、この執着度はやはり、変態ではないのか。
>>> import builtins
>>> dir(builtins)  
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException',
 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning',
 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError',
 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning',
 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False',
 'FileExistsError', 'FileNotFoundError', 'FloatingPointError',
 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError',
 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError',
 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError',
 'MemoryError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented',
 'NotImplementedError', 'OSError', 'OverflowError',
 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError',
 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning',
 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError',
 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError',
 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError',
 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning',
 'ValueError', 'Warning', 'ZeroDivisionError', '_', '__build_class__',
 '__debug__', '__doc__', '__import__', '__name__', '__package__', 'abs',
 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray', 'bytes', 'callable',
 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits',
 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit',
 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr',
 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass',
 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview',
 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property',
 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice',
 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars',
 'zip']
次のトピックは「6.4. Packages」である。 Pythonでのバッケージとは、例えば「A.B」と記述したモジュールでは、AというパッケージのBというサブモジュール、という感じで使われるようである。 以下のようなサンプルで階層構造を解説していたが、これはまるでSuperColliderのデジャヴである。(^_^;)
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
              ...
いきなり「sound」とかそそられるサンブルが出て来たが(^_^;)、まぁここも眺めて通り過ぎることにした。 このサブトピックとして「6.4.1. Importing * From a Package」と「6.4.2. Intra-package References」と「6.4.3. Packages in Multiple Directories」があったが、まぁ必要があれば後で参照することにしよう。 これで、速攻だが「6. Modules」の章も終わりである。 次の章は名前としては気になる「7. Input and Output」であるが、どうも標準入出力あたりらしい。 その後のサブセクションを最後まで並べると以下であるが、SuperColliderと似ている香りがするので、どうもこの教条主義はもう、トレースするほどの事も無さそうである。 新幹線はここで名古屋に着いた。今日はここまでかなぁ、とも思うが、ちょっと気になって、上の「12. What Now?」を見てみると、「続きはWebで」というのか、とりあえず「The Python Standard Library」を見よ、という事だった。 しかしこのリンクのヘルプは膨大だった(^_^;)。
    1. Introduction
    2. Built-in Functions
    3. Built-in Constants
        3.1. Constants added by the site module
    4. Built-in Types
        4.1. Truth Value Testing
        4.2. Boolean Operations ― and, or, not
        4.3. Comparisons
        4.4. Numeric Types ― int, float, complex
        4.5. Iterator Types
        4.6. Sequence Types ― list, tuple, range
        4.7. Text Sequence Type ― str
        4.8. Binary Sequence Types ― bytes, bytearray, memoryview
        4.9. Set Types ― set, frozenset
        4.10. Mapping Types ― dict
        4.11. Context Manager Types
        4.12. Other Built-in Types
        4.13. Special Attributes
    5. Built-in Exceptions
        5.1. Base classes
        5.2. Concrete exceptions
        5.3. Warnings
        5.4. Exception hierarchy
    6. Text Processing Services
        6.1. string ― Common string operations
        6.2. re ― Regular expression operations
        6.3. difflib ― Helpers for computing deltas
        6.4. textwrap ― Text wrapping and filling
        6.5. unicodedata ― Unicode Database
        6.6. stringprep ― Internet String Preparation
        6.7. readline ― GNU readline interface
        6.8. rlcompleter ― Completion function for GNU readline
    7. Binary Data Services
        7.1. struct ― Interpret bytes as packed binary data
        7.2. codecs ― Codec registry and base classes
    8. Data Types
        8.1. datetime ― Basic date and time types
        8.2. calendar ― General calendar-related functions
        8.3. collections ― Container datatypes
        8.4. collections.abc ― Abstract Base Classes for Containers
        8.5. heapq ― Heap queue algorithm
        8.6. bisect ― Array bisection algorithm
        8.7. array ― Efficient arrays of numeric values
        8.8. weakref ― Weak references
        8.9. types ― Dynamic type creation and names for built-in types
        8.10. copy ― Shallow and deep copy operations
        8.11. pprint ― Data pretty printer
        8.12. reprlib ― Alternate repr() implementation
    9. Numeric and Mathematical Modules
        9.1. numbers ― Numeric abstract base classes
        9.2. math ― Mathematical functions
        9.3. cmath ― Mathematical functions for complex numbers
        9.4. decimal ― Decimal fixed point and floating point arithmetic
        9.5. fractions ― Rational numbers
        9.6. random ― Generate pseudo-random numbers
    10. Functional Programming Modules
        10.1. itertools ― Functions creating iterators for efficient looping
        10.2. functools ― Higher-order functions and operations on callable objects
        10.3. operator ― Standard operators as functions
    11. File and Directory Access
        11.1. os.path ― Common pathname manipulations
        11.2. fileinput ― Iterate over lines from multiple input streams
        11.3. stat ― Interpreting stat() results
        11.4. filecmp ― File and Directory Comparisons
        11.5. tempfile ― Generate temporary files and directories
        11.6. glob ― Unix style pathname pattern expansion
        11.7. fnmatch ― Unix filename pattern matching
        11.8. linecache ― Random access to text lines
        11.9. shutil ― High-level file operations
        11.10. macpath ― Mac OS 9 path manipulation functions
    12. Data Persistence
        12.1. pickle ― Python object serialization
        12.2. copyreg ― Register pickle support functions
        12.3. shelve ― Python object persistence
        12.4. marshal ― Internal Python object serialization
        12.5. dbm ― Interfaces to Unix “databases”
        12.6. sqlite3 ― DB-API 2.0 interface for SQLite databases
    13. Data Compression and Archiving
        13.1. zlib ― Compression compatible with gzip
        13.2. gzip ― Support for gzip files
        13.3. bz2 ― Support for bzip2 compression
        13.4. lzma ― Compression using the LZMA algorithm
        13.5. zipfile ― Work with ZIP archives
        13.6. tarfile ― Read and write tar archive files
    14. File Formats
        14.1. csv ― CSV File Reading and Writing
        14.2. configparser ― Configuration file parser
        14.3. netrc ― netrc file processing
        14.4. xdrlib ― Encode and decode XDR data
        14.5. plistlib ― Generate and parse Mac OS X .plist files
    15. Cryptographic Services
        15.1. hashlib ― Secure hashes and message digests
        15.2. hmac ― Keyed-Hashing for Message Authentication
    16. Generic Operating System Services
        16.1. os ― Miscellaneous operating system interfaces
        16.2. io ― Core tools for working with streams
        16.3. time ― Time access and conversions
        16.4. argparse ― Parser for command-line options, arguments and sub-commands
        16.5. optparse ― Parser for command line options
        16.6. getopt ― C-style parser for command line options
        16.7. logging ― Logging facility for Python
        16.8. logging.config ― Logging configuration
        16.9. logging.handlers ― Logging handlers
        16.10. getpass ― Portable password input
        16.11. curses ― Terminal handling for character-cell displays
        16.12. curses.textpad ― Text input widget for curses programs
        16.13. curses.ascii ― Utilities for ASCII characters
        16.14. curses.panel ― A panel stack extension for curses
        16.15. platform ― Access to underlying platform’s identifying data
        16.16. errno ― Standard errno system symbols
        16.17. ctypes ― A foreign function library for Python
    17. Concurrent Execution
        17.1. threading ― Thread-based parallelism
        17.2. multiprocessing ― Process-based parallelism
        17.3. The concurrent package
        17.4. concurrent.futures ― Launching parallel tasks
        17.5. subprocess ― Subprocess management
        17.6. sched ― Event scheduler
        17.7. queue ― A synchronized queue class
        17.8. select ― Waiting for I/O completion
        17.9. dummy_threading ― Drop-in replacement for the threading module
        17.10. _thread ― Low-level threading API
        17.11. _dummy_thread ― Drop-in replacement for the _thread module
    18. Interprocess Communication and Networking
        18.1. socket ― Low-level networking interface
        18.2. ssl ― TLS/SSL wrapper for socket objects
        18.3. asyncore ― Asynchronous socket handler
        18.4. asynchat ― Asynchronous socket command/response handler
        18.5. signal ― Set handlers for asynchronous events
        18.6. mmap ― Memory-mapped file support
    19. Internet Data Handling
        19.1. email ― An email and MIME handling package
        19.2. json ― JSON encoder and decoder
        19.3. mailcap ― Mailcap file handling
        19.4. mailbox ― Manipulate mailboxes in various formats
        19.5. mimetypes ― Map filenames to MIME types
        19.6. base64 ― RFC 3548: Base16, Base32, Base64 Data Encodings
        19.7. binhex ― Encode and decode binhex4 files
        19.8. binascii ― Convert between binary and ASCII
        19.9. quopri ― Encode and decode MIME quoted-printable data
        19.10. uu ― Encode and decode uuencode files
    20. Structured Markup Processing Tools
        20.1. html ― HyperText Markup Language support
        20.2. html.parser ― Simple HTML and XHTML parser
        20.3. html.entities ― Definitions of HTML general entities
        20.4. XML Processing Modules
        20.5. XML vulnerabilities
        20.6. xml.etree.ElementTree ― The ElementTree XML API
        20.7. xml.dom ― The Document Object Model API
        20.8. xml.dom.minidom ― Minimal DOM implementation
        20.9. xml.dom.pulldom ― Support for building partial DOM trees
        20.10. xml.sax ― Support for SAX2 parsers
        20.11. xml.sax.handler ― Base classes for SAX handlers
        20.12. xml.sax.saxutils ― SAX Utilities
        20.13. xml.sax.xmlreader ― Interface for XML parsers
        20.14. xml.parsers.expat ― Fast XML parsing using Expat
    21. Internet Protocols and Support
        21.1. webbrowser ― Convenient Web-browser controller
        21.2. cgi ― Common Gateway Interface support
        21.3. cgitb ― Traceback manager for CGI scripts
        21.4. wsgiref ― WSGI Utilities and Reference Implementation
        21.5. urllib ― URL handling modules
        21.6. urllib.request ― Extensible library for opening URLs
        21.7. urllib.response ― Response classes used by urllib
        21.8. urllib.parse ― Parse URLs into components
        21.9. urllib.error ― Exception classes raised by urllib.request
        21.10. urllib.robotparser ― Parser for robots.txt
        21.11. http ― HTTP modules
        21.12. http.client ― HTTP protocol client
        21.13. ftplib ― FTP protocol client
        21.14. poplib ― POP3 protocol client
        21.15. imaplib ― IMAP4 protocol client
        21.16. nntplib ― NNTP protocol client
        21.17. smtplib ― SMTP protocol client
        21.18. smtpd ― SMTP Server
        21.19. telnetlib ― Telnet client
        21.20. uuid ― UUID objects according to RFC 4122
        21.21. socketserver ― A framework for network servers
        21.22. http.server ― HTTP servers
        21.23. http.cookies ― HTTP state management
        21.24. http.cookiejar ― Cookie handling for HTTP clients
        21.25. xmlrpc ― XMLRPC server and client modules
        21.26. xmlrpc.client ― XML-RPC client access
        21.27. xmlrpc.server ― Basic XML-RPC servers
        21.28. ipaddress ― IPv4/IPv6 manipulation library
    22. Multimedia Services
        22.1. audioop ― Manipulate raw audio data
        22.2. aifc ― Read and write AIFF and AIFC files
        22.3. sunau ― Read and write Sun AU files
        22.4. wave ― Read and write WAV files
        22.5. chunk ― Read IFF chunked data
        22.6. colorsys ― Conversions between color systems
        22.7. imghdr ― Determine the type of an image
        22.8. sndhdr ― Determine type of sound file
        22.9. ossaudiodev ― Access to OSS-compatible audio devices
    23. Internationalization
        23.1. gettext ― Multilingual internationalization services
        23.2. locale ― Internationalization services
    24. Program Frameworks
        24.1. turtle ― Turtle graphics
        24.2. cmd ― Support for line-oriented command interpreters
        24.3. shlex ― Simple lexical analysis
    25. Graphical User Interfaces with Tk
        25.1. tkinter ― Python interface to Tcl/Tk
        25.2. tkinter.ttk ― Tk themed widgets
        25.3. tkinter.tix ― Extension widgets for Tk
        25.4. tkinter.scrolledtext ― Scrolled Text Widget
        25.5. IDLE
        25.6. Other Graphical User Interface Packages
    26. Development Tools
        26.1. pydoc ― Documentation generator and online help system
        26.2. doctest ― Test interactive Python examples
        26.3. unittest ― Unit testing framework
        26.4. unittest.mock ― mock object library
        26.5. unittest.mock ― getting started
        26.6. 2to3 - Automated Python 2 to 3 code translation
        26.7. test ― Regression tests package for Python
        26.8. test.support ― Utilities for the Python test suite
        26.9. venv ― Creation of virtual environments
    27. Debugging and Profiling
        27.1. bdb ― Debugger framework
        27.2. faulthandler ― Dump the Python traceback
        27.3. pdb ― The Python Debugger
        27.4. The Python Profilers
        27.5. timeit ― Measure execution time of small code snippets
        27.6. trace ― Trace or track Python statement execution
    28. Python Runtime Services
        28.1. sys ― System-specific parameters and functions
        28.2. sysconfig ― Provide access to Python’s configuration information
        28.3. builtins ― Built-in objects
        28.4. __main__ ― Top-level script environment
        28.5. warnings ― Warning control
        28.6. contextlib ― Utilities for with-statement contexts
        28.7. abc ― Abstract Base Classes
        28.8. atexit ― Exit handlers
        28.9. traceback ― Print or retrieve a stack traceback
        28.10. __future__ ― Future statement definitions
        28.11. gc ― Garbage Collector interface
        28.12. inspect ― Inspect live objects
        28.13. site ― Site-specific configuration hook
        28.14. fpectl ― Floating point exception control
        28.15. distutils ― Building and installing Python modules
    29. Custom Python Interpreters
        29.1. code ― Interpreter base classes
        29.2. codeop ― Compile Python code
    30. Importing Modules
        30.1. imp ― Access the import internals
        30.2. zipimport ― Import modules from Zip archives
        30.3. pkgutil ― Package extension utility
        30.4. modulefinder ― Find modules used by a script
        30.5. runpy ― Locating and executing Python modules
        30.6. importlib - An implementation of import
    31. Python Language Services
        31.1. parser ― Access Python parse trees
        31.2. ast ― Abstract Syntax Trees
        31.3. symtable ― Access to the compiler’s symbol tables
        31.4. symbol ― Constants used with Python parse trees
        31.5. token ― Constants used with Python parse trees
        31.6. keyword ― Testing for Python keywords
        31.7. tokenize ― Tokenizer for Python source
        31.8. tabnanny ― Detection of ambiguous indentation
        31.9. pyclbr ― Python class browser support
        31.10. py_compile ― Compile Python source files
        31.11. compileall ― Byte-compile Python libraries
        31.12. dis ― Disassembler for Python bytecode
        31.13. pickletools ― Tools for pickle developers
    32. Miscellaneous Services
        32.1. formatter ― Generic output formatting
    33. MS Windows Specific Services
        33.1. msilib ― Read and write Microsoft Installer files
        33.2. msvcrt - Useful routines from the MS VC++ runtime
        33.3. winreg - Windows registry access
        33.4. winsound ― Sound-playing interface for Windows
    34. Unix Specific Services
        34.1. posix ― The most common POSIX system calls
        34.2. pwd ― The password database
        34.3. spwd ― The shadow password database
        34.4. grp ― The group database
        34.5. crypt ― Function to check Unix passwords
        34.6. termios ― POSIX style tty control
        34.7. tty ― Terminal control functions
        34.8. pty ― Pseudo-terminal utilities
        34.9. fcntl ― The fcntl() and ioctl() system calls
        34.10. pipes ― Interface to shell pipelines
        34.11. resource ― Resource usage information
        34.12. nis ― Interface to Sun’s NIS (Yellow Pages)
        34.13. syslog ― Unix syslog library routines
    35. Undocumented Modules
        35.1. Platform specific modules
これを追いかけるのは嫌である。 Raspberry Piをやりたいのであって、Pythonをやりたいのでは無いのだ。 うーーーむ。 悩みつつ新幹線は名古屋から浜松に向かっていた。

「Raspberry Pi日記」トップに戻る