Python
◾️はじめに 完全に個人的なメモ。 ファイルのリネーム処理を実装しそうなので予習しておく 目次 【1】ファイルのリネーム 1)os.rename 2)os.replace 3)shutil.move 【2】AWS上でのファイルのリネーム 【3】サンプル 【1】ファイルのリネーム 1)o…
◾️はじめに Python での class の後処理を実装する上で 今更ながら、Python での __xxx__(e.g. __init__)について メモしておく 目次 【1】特殊メソッド (Special Methods) 【2】様々な特殊メソッド 1)クラス 2)文字列 3)数値計算(演算子のオーバ…
◾️はじめに Pythonのtempfileについてメモっておく 目次 【1】tempfile 【2】主なAPI 1)TemporaryDirectory 2)TemporaryFile 3)NamedTemporaryFile 【1】tempfile * 一時ファイルやディレクトリを作成する標準ライブラリ https://docs.python.org/j…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/10/18/222208 https://dk521123.hatenablog.com/entry/2026/06/11/175208 の続き。 python-gnupg で MDC (Modification Detection Code; 修正検出コード) に関して、 実装してみる なお、MDC につい…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/10/18/222208 の続き。 python-gnupgを使うことになったので、おさらいも兼ねてまとめる 目次 【1】主なAPI 0)gnupg.GPG 1)import_keys 2)decrypt / decrypt_file 3)encrypt / encrypt_file…
◾️はじめに 小ネタ。 Pythonで、base64を扱いそうで、 過去記事を漁ったら書いてなかったので、まとめておく 目次 【1】Base64形式 【2】サンプル 例1:Base64エンコード(base64.b64encode()) 例2:Base64デコード(base64.b64decode()) 【1】Base64…
◾️はじめに Python の partial についてメモる 目次 【1】functools.partial 【2】Hello world 【3】サンプル 例1:コールバック関数 例2:map / filter と組み合わせ 【1】functools.partial * 関数の引数の一部をあらかじめ固定して、新しい関数を作…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/10/18/222208 では、暗号化・複合化ライブラリとしてpython-gnupgを扱ったが 今回は、PGPyについてメモっておく 目次 【1】PGPy 【2】python-gnupg との違い 1)メリット 2)デメリット 3)補足…
◾️はじめに https://dk521123.hatenablog.com/entry/2022/02/23/000000 の続き。 仕事で、glob (グロブ) を細く使うことになりそうなので、 メモっておく 目次 【1】glob 【2】主なワイルドカード 1)* 2)? 3)[] 【3】サンプル 【1】glob * ワイル…
◾️はじめに Python の Cookiecutter っていうのを知ったので メモしておく。 目次 【1】Cookiecutter 【2】用途 【3】インストール方法 【4】独自のテンプレートを作成してみる Step1: テンプレート用ディレクトリを作る Step2: cookiecutter.json を作…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/12/21/000330 の続き。 https://dk521123.hatenablog.com/entry/2025/12/24/001900 を書いている時に気がついたのだが、外部キーがあるようなデータって SDV (Synthetic Data Vault)はサポートしてい…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/12/19/233012 で合成データを考えた際に、 そのファイルの元になったファイル形式 (当面では、CSV/DSV(Delimiter Separated Values), Parquet) が分からないと、実装難しいかなっと思った。 そこで…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/12/19/233012 で「SDV (Synthetic Data Vault)」っていうのを知ったので 調べてみた 目次 【1】SDV (Synthetic Data Vault) 1)合成データ(Synthetic Data)とは? 2)主要モデル 【2】インスト…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/12/19/233012 で「Faker」っていうのを知ったので調べてみた (めちゃめちゃ簡単に使える!!) 目次 【1】Faker 【2】インストール 【3】サンプル 例1:Hello world 例2:ダミーCSVデータ 【4…
◾️はじめに 小ネタ。 pytest を実行した際に、自作したライブラリが見つけられず エラー「ModuleNotFoundError」が発生していた。 その際に、「__init__.py」を追加することにより、解決できた。 そこで、今更だが、「__init__.py」について扱う。 【1】__i…
◾️はじめに Pythonのcroniterについて調べて、試したので、 記録しておく 目次 【1】croniter 【2】インストール 補足:pyawscron (AWSのCron形式) 【3】サンプル 例1:croniter 【4】Tips 1)UTC形式にする 【1】croniter * croniter(クロニター) …
◾️はじめに Pythonでのファイル暗号化・復号化のためのライブラリ python-gnupg について扱う 目次 【1】前提知識:GnuPG 1)python-gnupg以外のライブラリ「PGPy」 【2】python-gnupg 1)インストール 【3】サンプル 例1:キー生成・暗号化・復号化 …
◾️はじめに https://dk521123.hatenablog.com/entry/2025/10/07/133808 https://dk521123.hatenablog.com/entry/2025/10/10/013250 の続き。 今回は、SQLAlchemyのTipsなどをまとめておく 目次 【1】ページネーション 1)Order By 2)LIMIT 3)OFFSET 【…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/10/07/133808 の続き。 今回は、SQLAlchemyの基本的な知識を書き溜めておく。 目次 【1】テーブル定義 1)データ定義 2)初期化としてのCREATE TABLE 【2】SELECT 1)WHERE句 【3】INSERT 【4…
◾️はじめに Python の ORM(Object-Relational Mapping)の SQLAlchemyについて、扱う 目次 【0】Python ORM 【1】SQLAlchemy 【2】インストール 【3】サンプル 例1:SQLite 例2:PostgreSQL 【0】Python ORM ORMライブラリ 特徴 SQLAlchemy 最も有名…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/10/05/014051 の続き。 今回は、Python の WebフレームワークであるFastAPIでの ファイルアップロードについて扱う # これで、あと、FastAPI のDBの扱いさえ覚えれば、 # バックエンド側でやりたいこ…
◾️はじめに PythonのWEBフレームワークのFastAPIを扱う。 目次 【0】PythonのWEBフレームワーク 【1】FastAPI 【2】インストール 【3】Hello world Step1: コードを書く Step2: サーバ起動 Step3: 動作確認 【0】PythonのWEBフレームワーク フレームワ…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/10/03/141326 の続き。 今回は、pythonで、PDF -> TEXT を行う。 目次 【1】PyMuPDF 【2】PyMuPDF4LLM 【3】pdfminer.six 【1】PyMuPDF * PDFの構造を検出し、データを抽出するツール 1)インス…
◾️はじめに やりたいこと 『画像又はPDFの情報からデータを抽出し、DBに入れるシステムを作成したい (無料のツールで)』があり、以下「【5】おまけ:構想していること」の 「1)処理フロー」と「2)システム構成」で考えている。 まず、その中の「Tessera…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/06/07/230713 の調査の一環として、 Pythonでs3上のPandasファイルをダウンロードせずに参照する方法を Github Copilotに聞いたところ、「s3fs」を教えてくれたので メモってみた 目次 【1】s3fsラ…
◾️はじめに 今更ながら、Pythonのリスト内包表記(List comprehensions) について扱う。 目次 【1】リスト内包表記(List comprehensions) 1)例 【2】リスト内包表記の種類 1)配列(list) 2)集合(set) 3)辞書(dict) 【3】リスト内包表記の…
◾️はじめに Python で辞書リストの重複を排除するために 色々調べたら、frozensetってのを使ったのでメモ。 目次 【1】frozenset 1)仕様 【2】用途 1)辞書のキーとして利用 【3】frozensetの利用例:辞書リストの重複排除 1)完全一致で重複排除 2…
◾️はじめに Jinja2の繰り返し(ループ)についてメモ。 目次 【1】for文 【2】ループの制御文 1)break文 2)continue文 【3】loop 1)主なメソッド 2)サンプル 【4】使用上の注意:変数をループする場合の注意点 1)NG例 2)OK例 【1】for文 サン…
◾️はじめに Jinja2の条件分岐についてメモ。 目次 【1】if文 1)サンプル 【2】論理演算子 1)サンプル 【3】三項演算子 1)サンプル 【1】if文 {% if 条件式1 %} {# 条件式1が true なら実行される #} {% elif 条件式2 %} {# 条件式2が true なら実…
◾️はじめに Jinja2で変数が文字列もしくは1要素のタプルの場合、文字列として扱い 1文字づつループされてしまい、その対策として変数をチェックすることを 調べたので、Jinja2の変数全般をまとめてみた 目次 【1】変数定義 【2】変数参照 【3】変数チェ…