2. Pythonインタープリターの使用—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/2.7/tutorial/interpreter
移動先:案内検索

2.2。 Pythonインタープリターの使用

2.1。 インタプリタの呼び出し

Pythonインタープリターは通常、利用可能なマシンに/usr/local/bin/pythonとしてインストールされます。 Unixシェルの検索パスに/usr/local/binを入力すると、コマンドを入力して起動できます。

python

シェルに。 インタプリタが存在するディレクトリの選択はインストールオプションであるため、他の場所も可能です。 お近くのPythonの第一人者またはシステム管理者に確認してください。 (たとえば、/usr/local/pythonは人気のある代替の場所です。)

Windowsマシンでは、Pythonのインストールは通常C:\Python27に配置されますが、インストーラーの実行時にこれを変更できます。 このディレクトリをパスに追加するには、DOSボックスのコマンドプロンプトに次のコマンドを入力します。

set path=%path%;C:\python27

プライマリプロンプトでファイルの終わり文字(Unixでは Control-D 、Windowsでは Control-Z )を入力すると、インタプリタはゼロの終了ステータスで終了します。 それでも問題が解決しない場合は、次のコマンドを入力してインタープリターを終了できます:quit()

インタプリタの行編集機能は通常、それほど洗練されていません。 Unixでは、インタープリターをインストールした人は誰でも、GNU readlineライブラリのサポートを有効にしている可能性があります。これにより、より複雑なインタラクティブな編集機能と履歴機能が追加されます。 おそらく、コマンドライン編集がサポートされているかどうかを確認する最も簡単なチェックは、最初に表示されるPythonプロンプトに Control-P と入力することです。 ビープ音が鳴った場合は、コマンドラインで編集しています。 キーの概要については、付録インタラクティブ入力編集と履歴置換を参照してください。 何も起こらないように見える場合、または^Pがエコーされる場合、コマンドライン編集は使用できません。 バックスペースを使用して現在の行から文字を削除することしかできません。

インタプリタはUnixシェルのように動作します。ttyデバイスに接続された標準入力で呼び出されると、コマンドをインタラクティブに読み取って実行します。 ファイル名引数またはファイルを標準入力として呼び出すと、そのファイルからスクリプトを読み取って実行します。

インタプリタを起動する2番目の方法は、python -c command [arg] ...です。これは、シェルの -c オプションと同様に、コマンドのステートメントを実行します。 Pythonステートメントには、シェルに固有のスペースやその他の文字が含まれていることが多いため、通常はコマンド全体を一重引用符で囲むことをお勧めします。

一部のPythonモジュールは、スクリプトとしても役立ちます。 これらは、python -m module [arg] ...を使用して呼び出すことができます。これは、コマンドラインでフルネームを入力したかのようにモジュールのソースファイルを実行します。

スクリプトファイルを使用する場合、スクリプトを実行して後でインタラクティブモードに入ることができると便利な場合があります。 これは、スクリプトの前に -i を渡すことで実行できます。

すべてのコマンドラインオプションは、コマンドラインと環境で説明されています。

2.1.1。 引数の受け渡し

インタプリタが知っている場合、スクリプト名とその後の追加の引数は文字列のリストに変換され、sysモジュールのargv変数に割り当てられます。 import sysを実行すると、このリストにアクセスできます。 リストの長さは少なくとも1つです。 スクリプトも引数も指定されていない場合、sys.argv[0]は空の文字列です。 スクリプト名が'-'(標準入力を意味する)の場合、sys.argv[0]'-'に設定されます。 -c コマンドを使用する場合、sys.argv[0]'-c'に設定されます。 -m module を使用する場合、sys.argv[0]は検出されたモジュールのフルネームに設定されます。 -c コマンドまたは -m モジュールの後に見つかったオプションは、Pythonインタープリターのオプション処理では使用されませんが、 [に残されます。 X170X]処理するコマンドまたはモジュール用。


2.1.2。 インタラクティブモード

コマンドがttyから読み取られるとき、インタープリターは対話モードにあると言われます。 このモードでは、プライマリプロンプトで次のコマンドの入力を求められます。通常は3つの大なり記号(>>>)です。 継続行の場合、セカンダリプロンプト、デフォルトでは3つのドット(...)でプロンプトが表示されます。 インタプリタは、最初のプロンプトを出力する前に、バージョン番号と著作権表示を示すウェルカムメッセージを出力します。

python
Python 2.7 (#1, Feb 28 2010, 00:02:06)
Type "help", "copyright", "credits" or "license" for more information.
>>>

複数行の構成を入力する場合は、継続行が必要です。 例として、次の if ステートメントを見てください。

>>> the_world_is_flat = 1
>>> if the_world_is_flat:
...     print "Be careful not to fall off!"
...
Be careful not to fall off!

インタラクティブモードの詳細については、インタラクティブモードを参照してください。


2.2。 通訳とその環境

2.2.1。 ソースコードエンコーディング

デフォルトでは、PythonソースファイルはASCIIでエンコードされたものとして扱われます。 デフォルト以外のエンコーディングを宣言するには、ファイルの first 行として特別なコメント行を追加する必要があります。 構文は次のとおりです。

# -*- coding: encoding -*-

ここで、 encoding は、Pythonでサポートされている有効な codecs の1つです。

たとえば、Windows-1252エンコーディングを使用することを宣言するには、ソースコードファイルの最初の行を次のようにする必要があります。

# -*- coding: cp1252 -*-

最初の行ルールの1つの例外は、ソースコードが UNIXの「シバン」行で始まる場合です。 この場合、エンコーディング宣言はファイルの2行目として追加する必要があります。 例えば:

#!/usr/bin/env python
# -*- coding: cp1252 -*-