Pythonアプリの作成と実行方法 - TechRepublic

Pythonアプリの作成と実行方法 - TechRepublic

Pythonは、汎用開発に用いられるオープンソースのインタープリタ型高水準プログラミング言語です。多くの言語とは異なり、Pythonはコンパイラを必要としないため、非常に効率的に作業できます。コマンドラインから直接コードを記述し、実行できます。

しかし、Pythonの効率性はコンパイラに依存しないという点だけに由来するものではありません。Pythonはコードのデバッグを非常に容易にします。Pythonアプリケーションを実行すると、インタープリタがコード内のエラーに遭遇した場合、行ごとに何が間違っているのかを非常に明確に示します。そのため、Pythonは学習しやすい言語の一つです。プログラミング初心者の多くがPythonから始めることを選択するのも、この理由の一つです。

ユーザーからの入力を受け取り、それをファイルに保存するアプリケーションを作成することで、分かりやすく紹介したいと思います。作成するのは、ソフトウェアライセンスを保存するためのシンプルなコマンドラインアプリケーションです。

Pop!_OS Linux でデモを行いますが、これは Python をサポートするどのプラットフォームでも動作します。

参照: Python が世界を席巻: ある開発者のサイドプロジェクトがいかにして地球上で最もホットなプログラミング言語となったか (表紙記事 PDF) (TechRepublic)

必要なもの

これを動作させるには、Python 3をサポートするオペレーティングシステムが必要です。LinuxにPython 3をインストールする方法を説明します。異なるオペレーティングシステムをご利用の場合は、お使いのプラットフォームに合わせてインストール手順を変更する必要があります。

参照: Python プレイブック: アップグレード情報、新機能、インストールと使用のヒントなど (無料 PDF) (TechRepublic)

Python 3のインストール方法

2020年1月1日をもって、Python 2は正式にサポート終了となりました。Python 2をインストールすることは可能ですが、一部の機能はPython 3との下位互換性がありません。そのため、Python 3をインストールする必要があります。

まず最初に、最新バージョンのPythonをインストールする必要があります。Linuxマシンでターミナルウィンドウを開き、次のコマンドを実行します。

sudo apt-get install python3 -y

Red Hat ベースのディストリビューションを使用している場合、そのコマンドは次のようになります。

sudo dnf install python3 -y

macOS または Windows を使用している場合は、公式の Python ダウンロード ページから、プラットフォームに必要なインストーラーをダウンロードしてください。

インストールが成功したことを確認するには、次のコマンドを発行します。

python3 --version

Python のバージョン番号が印刷されるはずです (図 A )。

図A

Pop!_OS Linux に Python 3.8.2 がインストールされています。

参照:採用キット: Python 開発者(TechRepublic Premium)

初めてのPythonアプリを作成する方法

早速、最初のアプリを作成してみましょう。先ほども述べたように、ソフトウェアタイトルとソフトウェアライセンスの形式でユーザー入力を受け付けるアプリを作成します。入力された情報はlicenses.txtというファイルに書き込まれます。

まず最初に、Pythonプロジェクトを格納するための新しいディレクトリを作成します。以下のコマンドを実行します。

mkdir ~/PYTHON

次のコマンドで新しいディレクトリに移動します。

cd ~/PYTHON

アプリのコードは 3 つのセクションに分かれています。

  • 入力:ユーザー入力の機能を定義する
  • ファイル:出力を保存するために使用するファイルを定義します
  • 出力:出力のフォーマット方法を定義します

ユーザーからの入力を取得するために、2 つの変数を定義します。

  • input1:ソフトウェアタイトルの入力に使用
  • input2:ソフトウェアライセンスの入力に使用

最初の 2 行のコードは、input1 と input2 の単純な変数宣言です。

input1 = input("Software Title:")
input2 = input("License Number:")

信じられないかもしれませんが、これが最初のコードセクションです。プログラムがinput1データを要求すると、そのデータが何のためのものか(ソフトウェアタイトル)が明確に出力されます。input2データ(ソフトウェアライセンス)についても同様です。もちろん、誰でも理解できるようにコメントを追加します。

次のセクションでは、ユーザー入力を保存するファイルを定義します。出力ファイルを定義する一般的なPython 3の文は次のようになります。

file = open("filename")

ただし、新しい入力はファイルの末尾に追加する必要があります。そうしないと、アプリが使用されるたびに以前の入力が上書きされてしまいます。そのためには、append に「a」オプションを使用します。これで、ファイルを開くセクションは次のようになります。

file = open("licenses.txt", "a")

次は、アプリの最後の(そして最大の)セクションである出力です。出力を以下の形式で定義します。

Software Title:Software License
---

わかりやすくするために、各エントリは 3 つのダッシュで区切られます。

このセクションはどのようになっているでしょうか?inputセクションの変数(input1とinput2)と、file.write関数(入力をファイルに書き込む)を組み合わせて使用​​します。最初の行は次のとおりです。

file.write(input1)

これにより、ユーザーが input1 に入力した内容が取得され、licenses.txt ファイルに保存されます。

次の行は次の通りです。

file.write(":")

上記の行は、input1変数の直後にコロンを出力します。引用符で囲まれた内容は、実際には出力ファイルに直接出力されます。

次に、input2変数から入力を取得し、コロンの直後に書き込みます。さらに、改行オプション(キャリッジリターンを追加)を追加します。これにより、最後の入力の後、次のfile.writeが新しい行から開始されます。これは次のように実行されます。

file.write(input2 + "
")

Python3では「
」は改行として読み込まれます。

次の行では、次のようにダッシュを書き出して新しい行を追加します。

file.write("---" + "
")

最後に、次の行でファイル書き込みセッションを終了します。

file.close()

Python3のコードはこれで終わりです。ファイル全体は以下のようになるようにコメントを追加します。

# THIS PROGRAM READS LICENSE INPUT FROM USER
# AND OUPUTS IT TO THE FILE license.txt

# まずソフトウェアタイトルを入力します
input1 = input(“ソフトウェアタイトル:”)

# 次にソフトウェアライセンスを入力します
input2 = input(“ライセンス番号:”)

# ここで、出力を保存するファイルを定義します。
# ファイルに追加するには「a」オプションを使用します。
# そうしないと、各入力が
前の入力を上書きしてしまいます。

ファイル = open(“licenses.txt”, “a”)

# 複数の file.write ステートメントを使用して、出力を次の形式で書き込みます。
# ソフトウェアのタイトルとライセンスは : で区切られ
、 # 各タイトル/ライセンスは — で区切られます。

file.write(input1)
file.write(“:”)
file.write(input2 + ”
“)
file.write(“—” + ”
“)
file.close()

すべての Python アプリは .py 拡張子で終わるため、次のコマンドで新しいファイルを作成します。

nano license.py

コード全体をコピーし、新しく作成した license.py ファイルに貼り付けます。ファイルを保存して閉じます。

Pythonアプリを実行する方法

これで、次のように python3 コマンドを使用してアプリを実行できます。

python3 license.py

最初にソフトウェアタイトルの入力を求められ、次にソフトウェアライセンスの入力を求められます(図B)。ソフトウェアライセンスを入力すると、アプリは終了します。

図B

Python アプリケーションの相互作用。

次に、licenses.txt ファイルを表示して、新しい入力がファイルの末尾に追加されたことを確認できます (図 C )。

図C

license.py Python アプリケーションのサンプル入力。

これで完了です。ユーザー入力を受け取り、ファイルに書き込む非常にシンプルなPythonアプリケーションです。ご覧の通り、Pythonは入門に非常に簡単なプログラミング言語です。このシンプルな例を参考に、Pythonを拡張して、独自の便利なPythonプログラムを構築していくことができます。


画像: iStockphoto/ミルサド・サラージリック
Tagged: