2. Python インタプリタを使うまとめ

2.1 インタプリタを起動する

2.1.1 引数の受け渡し

  • 引数を受け取ると、それらは変数 sys.argv としてスクリプトに渡されます。
  • sys.argv[0] はスクリプト名、指定しなければ空文字
  • c command を使うと、sys.argv[0] は '-c'
  • m module を使った場合、 sys.argv[0] はモジュールのフルパス

2.1.2 対話モード

  • 命令文を tty から読み取っているとき
  • primary prompt ">>> " 
  • secondary prompt "... " 継続する行

2.2 インタプリタとその環境
2.2.1 エラー処理

  • エラーメッセージとスタックトレース (stack trace) を出力
  • 入力がファイルからきているとき非ゼロの終了状態で終了
  • 非ゼロの終了 インタプリタ内部の矛盾やある種のメモリ枯渇
  • エラーメッセージは全て標準エラー出力ストリームに書き込まれます
  • 通常出力される内容は標準出力に書き込まれます
  • C-c 入力が取り消されて一次プロンプトに戻ります
  • コマンドの実行中にC-c KeyboardInterrupt例外 try 文で処理できる

2.2.2 実行可能な Python スクリプト

2.2.3 ソースコード文字コード方式

  • ASCII 形式でない文字 使うことができます。
  • # -*- coding: encoding -*-
  • 利用可能なエンコードのリストは Python ライブラリリファレンス の codecsの節
  • BOM: Byte Order Mark) 付きの UTF-8ファイル エンコード宣言の代わりに使うことができます。

2.2.4 対話モード用の起動時実行ファイル

  • PYTHONSTARTUP と呼ばれる環境変数
  • Unix シェルの .profile に似ています。
  • 対話セッションのときだけ読み出されます。
  • Python がコマンドをスクリプトから読み出しているときや、 /dev/tty がコマンドの入力元として明示的に指定されている (この場合対話的セッションのように動作します) わけではない 場合にはこのファイルは読み出されません。
  • ファイル内のコマンドは、対話的コマンドが実行される名前空間と同じ名前空間内で実行
  • ファイル内で sys.ps1 や sys.ps2 を変更して、プロンプトを変更することもできます。