私的AI研究会 >MyLibrary

Python 私的汎用ライブラリ

python_logo.jpg

 適宜再利用できそうなプログラムをライブラリ化する。
 旧「Python 汎用ライブラリ作成」ページを改訂し継続する。

※ 最終更新:2024/06/14 

作成モジュールの配置

 各プロジェクトでテスト運用後、「mylib」ディレクトリに置く。

  Windows の場合 

  Linux の場合 

汎用パッケージのカスタマイズ

ログ出力「my_logging.py」

 標準モジュールの「logging」フォーマットを『短/普通/詳細』の3種類に規定してプログラム開発で共通/簡単に使用できるようにする。

カラー・ターミナル出力「my_print.py」

20220709_134652_000.png

 ANSI エスケープシーケンスを利用してターミナル標準出力をカラー化する。

日時の処理「my_datetime.py」

 標準パッケージ「detetimwe」を利用して汎用モジュールを作成。

表示関連

テキスト表示のための色配色テーブル「my_color80.py」(旧 color_table80.py)

20220709_135053_000.png

 文字色(白)に対して視覚的な背景色・ボーダーの配色例。

OpenCV でイメージに日本語を描画する「my_puttext.py」(旧 myfunction.py)

20220709_134826_000.png

 OpenCV のテキスト出力 cv2.puttext は日本語出力ができないのをカバーする。

操作関連

CSVファイル処理「my_csv.py」(旧 mylib_csv.py)

 よく使う CSVファイル処理関連モジュールを 「CSVtreatmentクラス」として再利用しやすくする。

CSVファイル

column 0column 1...column n
row 0data 0-0data 0-1...data 0-n
row 1data 1-0data 1-1...data 1-n
:::::
row ndata n-0data n-1...data n-n

ファイル処理「my_file.py」(旧 mylib_file.py)

 よく使うファイル処理関連モジュールを 「FileTreatmentクラス」として再利用しやすくする。

Yamlファイル処理「my_yaml.py」(旧 mylib_yaml.py)

 設定ファイル等に利用される Yamlファイルの処理関連モジュールを 「YamlProcessクラス」として再利用しやすくする。

FPS を計測する「my_fps.py」(旧 mylib.py)

20220709_145924_000.png

GUI関連

OpenCV ウインドウのクローズボタンで終了する「my_winstat.py」(旧 mylib_gui.py)

20220709_150126_000.png

 OpenCV で表示されたウインドウは標準では「X」ボタンが効かない。「X」ボタンでウインドウを閉じられるようにする。
 ※ バックエンドに Qtモジュールがない場合は OpenCVからウインドウの状態取得ができないようなのでこの手法は動作しない。

各種ダイアログ「my_dialog.py」

 よく使う GUI ダイアログを使いやすくする。
 ダイアログ表示の形状は動作するウインドウ環境に依存する。

daialog00.jpg
daialog01.jpg

位置設定可能な各種ダイアログ「my_movedlg.py」

daialog02.jpg

 位置設定可能なメッセージボックスを作成する。
 ダイアログ表示の形状は動作するウインドウ環境に依存する。
 位置指定しない場合はスクリーンの中央に配置される。

アスペクト比を固定して画像をリサイズ「my_process.py」(旧 mylib_pros.py)

スクリーンサイズを得る「my_screen.py」(旧 mylib_screen.py)

 本関数は「my_movedlg.py」にも含まれている。

各種付加機能

メール送信「my_mail.py」

email.jpg

 SMTPサーバーを利用したメール送信パッケージ

 

更新履歴

 

参考資料