圧縮ファイルを作ってみましょう!!【Python学習】

New Challenge

新しい本を読むと知見が広がる

₍2024/2/25‗改訂)
森巧尚さんが書いた「ゲーム作りで楽しく学ぶPythonのきほん」
という本を読んでいます。【PR】

本の中では当たり前と思われる誤差の話が出ていまして、「そういえば気にしてなかった!」と驚かされてます。

BMIを求める簡易プログラム

例えば、以下で身長体重からBMIを算出するプログラムを例にとって解説してみせます。パソコンから身長体重の具体的な値を入力してもらい、計算としてBMIを画面上に表示するプログラムが例です。それを圧縮します。

Pythonを使用した身長と体重からBMIを計算するシンプルなプログラムです。ユーザーに身長と体重を入力してもらい、それに基づいてBMIを計算し、結果を表示します。

# 身長と体重の入力を受け取る
height = float(input("身長(メートル単位)を入力してください: "))
weight = float(input("体重(キログラム単位)を入力してください: ")
# BMIの計算
bmi = weight / (height ** 2)
# BMIを表示
print("あなたのBMIは {:.2f} です。".format(bmi))
このプログラムでは、単純な関数を使用してユーザーに身長と体重を入力してもらい、それを使って数値に変換します。その後、BMIを計算し、別関数を使って結果を画面に表示しています。なお、BMIは身長をメートル単位で、体重をキログラム単位で入力することが前提となっています。

このプログラムはシンプルな例であり、実際のアプリケーションではエラー処理や入力のバリデーションなどが必要ですが、基本的なBMIの計算と表示の流れがわかるかと思います。

他人が見るにはどうする?!

第三者がPythonでのプログラムを楽しむ事を考えます。ここでの想定は知人宛メールに添付として圧縮ファイルをつけるのです!!

Pythonでプログラムを作ると考えるのですが、送付先のパソコンにPythonの環境が無い時が想定されるのです。そこで圧縮したファイルを送付先で開けばよいのです!!

Pythonを使用してプログラムを作成し、それを第三者に送付する場合、相手のコンピュータにPythonの環境がないことを考慮して、プログラムを実行可能な形で提供する必要があります。そのために、以下の手順を考えることができます。

実行可能なファイルへの変換:

Pythonスクリプトを実行可能な形式に変換する方法があります。主なツールとしては「PyInstaller」や「cx_Freeze」があります。これらのツールを使用して、Pythonスクリプトを単一の実行可能なファイルに変換できます。例えば、次のようなコマンドでPyInstallerを使って変換できます。

pyinstaller your_script.py

これにより、distディレクトリ内に実行可能なファイルが生成されます。

圧縮:

生成された実行可能ファイルや関連ファイルをZIPやtarなどのアーカイブ形式に圧縮します。これにより、1つの圧縮ファイルにまとめることができます。

メールに添付:

圧縮したファイルをメールに添付して送信します。通常、Pythonスクリプトや実行可能ファイルがメールの添付ファイルとして制限を受けることがあります。その場合は、クラウドストレージなどを利用してファイルを共有する方法も考えられます。

実行手順の提供:

メールの本文や別途提供するテキストファイルに、プログラムの実行手順や必要な環境についての情報を記載します。これには、Pythonが必要であればその旨や、必要な外部ライブラリがあればそれも含めます。

注意喚起:

受信者に向けて、セキュリティ上の理由から未知のプログラムを実行する前に十分な注意を促すことが重要です。不審なファイルやメールの添付ファイルは開かないように警告することが一般的です。

以上の手順を踏むことで、Python環境がない受信者でも手軽にプログラムを実行できるようになります。

注意すべき点

パイソンで作ったファイルを開く時の注意点としては、パスの指定です。相対パスではなくて絶対パスを指定して下さい。

Pythonでファイルを開く際に、パスの指定は非常に重要です。相対パスと絶対パスの違いについて理解しておくと役立ちます。

相対パス:

    • プログラムが現在実行されているディレクトリを基準にしたパスです。
    • 例えば、"data/file.txt"と指定すると、現在の作業ディレクトリ内のdataディレクトリにあるfile.txtを指します。

絶対パス:

    • ファイルやディレクトリのルートからの完全なパスです。
    • 例えば、"C:/Users/username/Documents/data/file.txt"といった形です。

注意点:

  • 相対パスを使用する場合、プログラムが実行されるコンテキストに依存するため、実行場所によっては正しくファイルが見つからないことがあります。
  • 絶対パスを使用すると、ファイルの場所が厳密に指定され、プログラムの実行場所に依存しません。

例えば、以下は絶対パスを使用してファイルを開く例です:

python

import os

# 絶対パスを指定してファイルを開く例
file_path = “C:/Users/username/Documents/data/file.txt”

# ファイルを開く
with open(file_path, ‘r’) as file:
# ファイルの中身を表示するなどの処理を行う
content = file.read()
print(content)

このように、ファイルの場所が明示的に指定されているため、プログラムがどこから実行されてもファイルを正しく開くことができます。

〆最後に〆

以上、間違い・ご意見は
次のアドレスまでお願いします。
最近は全て返信出来てませんが
適時、返信して改定をします。

nowkouji226@gmail.com

また、この記事はChatGPT社のOpenAI
の情報を参考として作成しています。

全体の纏め記事へ】

雑記の纏め記事に戻る

Python関係の関連記事

コメント

タイトルとURLをコピーしました