コマンドラインでPythonの複数行ステートメントを実行する方法
コマンドラインからPythonの複数行ステートメントを実行する方法はいくつかあります。ここでは、代表的な2つの手法を具体例とともに解説します。
方法1:bashの複数行構文を利用する
bashなどのシェルは複数行のステートメントをサポートしています。シングルクォートで囲むことで、改行を含んだPythonコードをそのまま「python -c」に渡すことができます。
実行例
$ python -c '
> a = True
> if a:
> print("a is true")
> '
出力結果
a is true
このように、シェル側で改行を保持したままPythonインタプリタへコードを渡せるため、if文やfor文などインデントが必要な処理も自然な形式で記述できます。
方法2:「\n」改行文字を使って1行で記述する
コマンド全体を1行に収めたい場合は、「\n」(改行文字)を使ってコマンド間を区切る方法が便利です。bashの場合、$'...'というANSI-Cクォーティングを使用すると、「\n」が実際の改行として解釈されます。
実行例
$ python -c $'a = True\nif a: print("a is true");'
出力結果
a is true
この方法なら、シェルスクリプトやワンライナーの中でも扱いやすく、履歴管理やコピー&ペーストの際にも1行のコマンドとして完結します。
使い分けのポイント
- 可読性を重視する場合:方法1のようにシェルの複数行構文を使うと、インデントを含んだコードを見通しよく書けます。
- 簡潔さを重視する場合:方法2の「\n」区切りなら、コマンドを1行にまとめられるため、自動化スクリプトなどに組み込みやすくなります。
状況に応じてこれらの方法を使い分けることで、コマンドライン上でのPython実行がより効率的になります。
-
PythonシェルでPythonファイルを実行する方法【execfile・execの使い方】
Pythonシェル(対話モード)からPythonファイルを実行したい場合は、execfileメソッドまたはexecメソッドを使用します。それぞれの使い方を具体例とともに見ていきましょう。実行例例として、次の1行だけが書かれた「my_script.py」というスクリプトを用意します。print(Greetings from my_script)このファイルをPythonシェルから実行する方法は、使用しているPythonのバージョンによって異なります。execfileメソッドを使う場合(Python 2)Python 2環境では、シェルに以下のように入力するだけでスクリプトを実行できます。>
-
【Python入門】複数行にわたるステートメントの書き方:括弧と行継続文字の使い方
Pythonにおける複数行ステートメントの基本Pythonでは、長い式を複数行にわたって記述したい場合に、最も推奨されている方法が丸括弧( )で式全体を囲むというものです。括弧の中であれば、インタプリタが自動的に行の継続を判断してくれるため、特別な記号を追加する必要がありません。例1:括弧を使って式を改行するa = (10**2 + 10*5 - 10) print(a)このコードを実行すると、結果として 140 が出力されます。演算子ごとに改行しても、括弧内であればエラーにならず、可読性の高いコードになります。例2:行継続文字(バックスラッシュ)を使うもう一つの方法として