第3章 コマンドライン コマンドラインで作業する
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
コマンドラインは、ゴムに当たるところだ。グラフィカル・インタフェースを備えた強力なツールは数多くあるが、DevOps作業ではコマンドラインが依然としてホームだ。Python内からShell環境にアクセスすることと、Pythonコマンドラインツールを作成することは、DevOpsのためにPythonを使用する際に必要なことだ。
シェルを使う
Pythonはシステムやシェルとやりとりするためのツールを提供している。sys 、os 、subprocess の各モジュールは必須ツールなので、使いこなすべきである。
sysモジュールでインタプリタと話す
sys モジュールは、Pythonインタプリタと密接に結びついた変数やメソッドへのアクセスを提供する。
注
読み取り時のバイトの解釈には2つの方法がある。1つ目は、リトルエンディアンで、後続の各バイトをより大きな意味を持つ(より大きな桁を表す)と解釈する。もう1つは、ビッグエンディアンで、最初のバイトが最大の意味を持ち、そこから下に移動すると仮定する。
sys.byteorder 属性を使えば、現在のアーキテクチャのバイトオーダーを見ることができる:
In[1]:importsysIn[2]:sys.byteorderOut[2]:'little'
sys.getsizeof を使えば、Pythonオブジェクトのサイズを見ることができる。これは限られたメモリを扱う場合に便利だ:
In[3]:sys.getsizeof(1)Out[3]:28
基礎となるオペレーティングシステムによる違いによって異なる振る舞いをしたい場合は、sys.platform :
In[5]:sys.platformOut[5]:'darwin'
より一般的な状況は、Pythonの特定のバージョンでしか利用できない言語機能やモジュールを使いたい場合である。実行中のPythonインタプリタに基づいて振る舞いを制御するために、sys.version_info 。ここでは、Python 3.7、3.7より下のPythonバージョン3、3より下のPythonバージョンに対して異なるメッセージを表示する:
ifsys.version_info.major<3:("You need to update your Python version")elifsys.version_info.minor<7:("You are not running the latest version of Python")else:("All is good.")
sys の使い方については、この章の後半でコマンドラインツールを書くときに詳しく説明する。
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access