Python関連のことを調べてみた

Python関連のことを調べてみた

Python ツール #5 ― PDF 操作(回転、結合)

# Python ツール #5 ― PDF 操作(回転、結合)

たまたま、今回、PDF を回転させたり結合させたりする必要がありましたので、その Python スクリプトを開発してみました。[^1]
今後の実務で複雑な PDF 操作をするかもしれないので、そのときは、今回の Python スクリプトをスニペット(断片ソースコード)として使用しようと思います。

## ソースコードの簡単な説明

* pdf_rotater.py(Python スクリプト)。・・・ PDF 回転
“`python:pdf_rotater.py
#!/usr/bin/env python3

#
# pdf_rotater.py
#
# Date : 2024-06-08
# Auther : Hirotoshi FUJIBE
# History :
#
# Copyright (c) 2024 Hirotoshi FUJIBE
#

# Import Libraries
i

元記事を表示

Blenderの自作アドオン「Particle Tracker」の改善と Python API の解説

# はじめに

本記事は前回の記事(https://qiita.com/Kai0731200/items/598f356d54b409dca66e) の続きです。
この度自作アドオン「Particle Tracker」を大幅にアップデートしました!
主な改善点としては
・キーフレーム方式によって使いやすさを大幅に向上
・複数パーティクルシステムへの対応
・ファイルを開き直しても不具合が起きないなど頑健性の向上
です。

今回は「Particle Tracker」の更新内容とソースコードの解説です。

アドオンのURL(https://github.com/Kai0731200/Particle-Tracker)

# 目次

1. [前回の問題点と改善の方針](#前回の問題点と改善の方針)
1. [目標](#目標)
1. [準備](#準備)
1. [複数のパーティクルシステムへの対応](#複数のパーティクルシステムへの対応)
1. [Python APIでキーフレームを登録する](#Python_APIでキー

元記事を表示

Pythonエンジニア基礎認定試験を受けました

# はじめに
950で合格、勉強期間は1週間程度。
Pythonは未経験でしたが、他の言語経験はありました。
(どの言語も未経験の方はyoutubeの解説動画や書籍python1年生あたりから始めるのが良さそうです)

# 学習教材
【書籍】
Python チュートリアル 第4版
徹底攻略Python 3 エンジニア認定 [基礎試験] 問題集(以下、黒本)
【サイト】
[ExamApp](https://python-basic.com/)
[PRIME STUDY](https://study.prime-strategy.co.jp/)

# 学習方法
黒本を各章を1周、総仕上げ問題を解いた時点で9割正答できていたので、
あとはネット上の問題集をやっていました。
ExamAppは初級、中級、上級を2週。
PRIME STUDYは「第1回 Python 3 基礎 模擬試験を受験する」のみ1週。

ExamAppは1問ごとに解説が入る形式なので、間違いをすぐに確認できて勉強しやすかったです。
問題の解説にPythonチュートリアルの対応ページが記載されており、間違ったものはチュートリア

元記事を表示

【これでOK!】FlaskアプリをECS(Fargate)で動かすまでのHelloWorld

# はじめに

以前に書いた以下の記事の反響が良く、有難いことに多くの方に見ていただきました。

https://qiita.com/tatsuya11bbs/items/a7898275535a766718bf

ただ、最新のマネージコンソールとの差異が出てきましたので最新版に書き直しました。ECSを学びたい人の最初の取っ掛かりになればと思います。ではECSのHello Worldをやっていきたいと思います。

# 事前学習 (ECSとは)

マネージコンソールで操作をする前に以下を理解してから始めましょう。

#### ★コントロールプレーン & データプレーン

まずは、ここの理解が必要です。Fargateを調べていると “ECS”やら “EKS”が出てきて混乱してしまします。その部分の整理をまずはしましょう。コンテナを運用していくにあたり、「コントロールプレーン」と「データプレーン」の2つに大きくは分けることができます。コントロールプレーンとは、コンテナな管理をするところで、サッカーで言うと監督的なポジションです。このコントロールプレーンが指示を色々出してコンテナを動

元記事を表示

ECRのコンテナイメージを定期的にセキュリティスキャンしてSlack通知をおこなう

ECS on Fargate環境を導入する際、最初にCIへTrivyやDockleによるコンテナイメージの脆弱性スキャンを組み込んだのですが、次にリリース間のセキュリティリスクも考えて、ECRのイメージを定期的にスキャンしてその結果をSlackで通知する仕組みをつくりました。

![スクリーンショット 2024-06-08 11.43.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569054/c5f59260-7ef5-11c1-d2db-c2b7d23a684f.png)

Lambda、EventBridge、S3、IAMロールというAWSの基本リソースを使用して、誰でも簡単にこの仕組みを構築できる方法をご紹介します。Terraformのコードも掲載するのでぜひご活用ください。

また、CIへのTrivyとDockleの組み込みについては以前記事を書いたので、こちらについても時間があったらご覧ください。
(Qiitaでの反応はよくありませんが、dev.toの方ではそこそこ反響がありました)

元記事を表示

親子関係のクラスの値の渡し方

### 本記事の目的

親子関係のクラスで親クラスが持っているメンバー変数を子供クラスに渡す場合の事例を示す
Pythonにおいて、実践で良く使う手法なので、覚えておいた方が良いと思います。

以下は、子供の血液型を判断する事例です。

“`py
class Father:
def __init__(self, blood_type) -> None:
self.blood_type = blood_type

class Mother:
def __init__(self, blood_type) -> None:
self.blood_type = blood_type

class Child:
rules = [
[‘A’, ‘B’, ‘AB’, ‘O’], # rule1
[‘A’, ‘O’], # rule2
[‘B’, ‘O’], # rule3
[‘A’, ‘O’], # rule4

元記事を表示

ライフゲーム陣取り

# 目的

ライフゲームは生物集団の数理モデルである、と言われています。

生物集団であるならば、例えば、グライダーが固定物体や振動子に衝突して新しいパターンが生じたとき、この新しいパターンは衝突したグライダーの子孫なのかそれとも衝突された側の子孫なのだろうか、と疑問が湧きます。

ライフゲームには「民族」とか「人種」のような概念はないのでこういう疑問には意味がないのですが、無理やり意味をもたせることを考えました。

# 手段

[三すくみルールを取り入れたライフゲーム](https://qiita.com/tadashi9e/items/ba90b369c37eae8cc8d7) では、ライフゲームのルールそのものに手を入れたのですが、今回は「生」「死」の挙動はコンウェイのライフそのままとします。

つまり、「生」「死」2つの状態がセルにさらに色をもたせるイメージです。
冒頭の、グライダーが物体に衝突していく状況を例にとるなら、赤いグライダーが青い物体に衝突していく、という感じです。

ライフゲーム(に限らず大抵のセル・オートマトン)の動きを眺めていてすぐ気がつくのは、セルの値の変化

元記事を表示

交差検証のモデル保存と精度一覧を出す関数を作った

交差検証はScikit-Learnだと「sklearn.metrics.cross_val_score」にあります。
しかしそこでできるのは精度の計測で、一番良かった時のモデルが保存されているわけではありません(もしかしたら自分が知らないだけかも)。
そこで今回は交差検証をしてなおかつ詳細な精度の分かる関数を作ってみました。
# 関数
“`Python3
import pandas as pd
from sklearn.metrics import classification_report
def closs_val_model_accuracy(model, x, y, cv=50):
ylist = list(set(y.values.astype(“str”)))
models = []
acc = []
for i in range(cv):
x_test = x.loc[int(i*len(x)/cv):int((i+1)*len(x)/cv)]
y_test = y.loc[int(i*len(x)/cv)

元記事を表示

【GCP】PDFファイルをOCR処理し、内容を構造化してCSVファイルを作成するツールを作ってみた(その2)

## 1.おおまかな要件
① ローカルのPDFファイルをGoogle Cloud Storageに連携
② 連携したPDFファイルをGCP VisionAIでOCR処理し、JSONファイルに出力
##### ↑ここまでが(その1)の範囲
③ ②で作成したJSONファイルをGCP-4のAPIを使用し、予め用意した構造化モデル(大げさ)設定ファイルを基に解析
④ ③で解析した結果をCSVファイルで出力
##### ↑ここまでが(その2)の範囲
## 2.ツールのイメージ図(再掲)
![ocr_csv_create構成イメージ.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2472326/cbca01ed-576a-f111-dbcb-dab942a9feea.jpeg)
## 3.事前準備
・OpenAIアカウントの作成
 [参考URL:OpenAIのアカウント作成方法を画像付きでわかりやすく解説!](https://www.goatman.co.jp/media/chatgpt/howto-create-

元記事を表示

How to install the TensorRT on ComfyUI

先日、Syable Diffusion ComfyUIの作者comfyanonymous氏が、ComfyUI用のTensorRT拡張機能を発表しました。
https://github.com/comfyanonymous/ComfyUI_TensorRT

TensorRT高速化技術は、既にA1111が先行して拡張機能を実装していましたが、これでComyUIにおいてもTensorRT技術を使用できる環境が整ったことになります。

今回は、そのインストール方法について解説したいと思います。

尚、ComfyUIのインストール環境は、一般的なportable形式で使用している前提で以下、解説していきます。

まず下図のように、拡張機能のインストール先であるcustom_nodesフォルダにパスを通した形でpowershellを起動します。
![タイトルなし.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3661150/3f40ae54-da5d-c59a-be45-7afb9d69c563.png)

次に

元記事を表示

FlaskとchatGPTのアプリ製作が面白すぎる話

どうも。専門学校でプログラミングを学んでいるとろくまです。
今回はFlaskとchatGPTで無限にアプリが作れるアプリの話をしたいと思います。
必要なものはFlaskと使用するライブラリの環境とchatGPTのアカウントです。
学校で教師あり学習のデータを作るために用いる画像を28×28のグレースケールに変換するアプリも30分で作れたし、
簡単な診断アプリも作ることができたし、
SQLAlchemyを用いた名刺管理アプリも作ることができました。
作り方は簡単
1 chatGPTに作りたいアプリ名のサンプルコードを作ってと送る
2 フォルダ構造を聞く
3 インストールするライブラリのバージョンを聞く
4 統合開発環境で仮想環境を作る
5 ライブラリを入れる
6 フォルダとhtmlファイルやapp.pyファイルを作る
7 サンプルコードをコピペ
8 完成

まだシンプルなアプリしか作っていませんかこれからもう少し複雑なアプリも作っていきたいと思います。
以上とろくまでした。

元記事を表示

googletransを使って簡単翻訳

# googletransとは
translate.google.com の Web API を使用する非公式ライブラリ
無料で無制限のPython ライブラリ

https://pypi.org/project/googletrans/

#### googletrans使用する上での注意事項
– 1 つのテキストの最大文字数制限は 15,000
– Google 翻訳の Web バージョンの制限により、この API はライブラリが常に適切に動作することを保証するものではない
– 安定性を気にする場合は[Google の公式翻訳 API](https://cloud.google.com/translate/docs?hl=ja)推奨

https://cloud.google.com/translate/docs?hl=ja

# インストール
“`
pip install googletrans==3.1.0a0
“`
:::note warn
バージョン指定せずインストールするとエラーが発生するので、
上記のバージョンを指定し、インストールしてください
:::

#

元記事を表示

[Beautiful Soup] HTMLの好きな範囲をコメントアウトする方法

Beautiful Soupで扱うHTMLの任意の場所に、コメントアウトの開始 `` を挿入する方法です。

検索しても出てこないから一応公開してみるけど…たぶん需要はない!
ほとんどネタです。

# 環境
Python 3.11.9
Beautiful Soup 4 (4.11.1)

# HTMLの好きな範囲をコメントアウトする

## 扱うHTMLサンプル
以下のようなHTMLを扱うことにします。
“`html:tanuki.html


暗号文

ヒント:たぬき&にわとり





RLC直列回路の過渡応答

# はじめに
RLC回路の過渡応答解析は一般的には微分方程式を用いて考察する。しかし、その微分方程式を解析的に解くのは難易度が高く、ましては応答をグラフ化するのは手計算では限界がある。そこで、微分方程式をプログラムを用いて解くことでRLC回路の過渡応答の様子を伺うことを本記事では試みる。具体的には、微分方程式を状態方程式に変換した上で、簡易な差分法を用いて解析する。以下は解析結果のグラフである。

![RLC_状態方程式_電荷.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1686019/f96ee309-b30a-c4ca-a082-ebe5901538a7.png)

# 問題設定
以下のようなRLC直列回路に正弦波電圧を加えたときのコンデンサに蓄積された電荷の応答を調べる。ただし、R=2[Ω],L=1[mH],C=10[μF]として、電源周波数を50[Hz]、電源電圧を1[V]とした。

![直列回路.JPG](https://qiita-image-store.s3.ap-northeast-1

元記事を表示

[deepl-python]でクリップボードに保存された文章をコンソールで一発翻訳

## きっかけ
ブラウジング中や電子書籍を読んでいるとき、ちょっと引っかった文章の翻訳に[deepl-python](https://github.com/DeepLcom/deepl-python)を使っています。
しかし、ブラウザや電子書籍からコピーした文字列にはスペースが含まれているため、クリップボードからペーストした文字列を`”`で囲む必要があります。
これまで`”`の挿入を手作業で行っていましたが、コマンド一発でクリップボードに保存された文章を翻訳できる簡単なpythonコードを書きました。

## 準備
– あらかじめ[DeepLのAPI Key](https://www.deepl.com/your-account/keys)を取得
– [deepl-python](https://github.com/DeepLcom/deepl-python)と[pyperclip](https://github.com/asweigart/pyperclip)をローカル環境にインストール
“`
pip3 install –user deepl
pip3 install –us

元記事を表示

chatgptでアプリを作ってみる

###はじめ

元記事を表示

Pythonを使用してPowerPointプレゼンテーションを画像に変換する

情報の共有と伝達は効率向上の重要な要素です。PowerPointプレゼンテーション(PPT)は成果を示すための一般的なツールとして、内容の柔軟性と視覚的な魅力が評価されています。しかし、異なるプラットフォームの互換性制限、便利な共有のニーズ、または迅速なプレビューのシナリオに直面した場合、PPTを画像形式に変換することで、さまざまなシナリオのニーズに対応できます。この記事では、**Pythonを使用してPowerPointプレゼンテーション(PPT)を画像に変換する方法**を紹介し、異なる展示や共有のニーズに対応しながら、バッチ処理と自動化を実現し、効率を向上させます。

– **[PowerPointプレゼンテーションをJPG、PNG、またはBMP画像に変換する](#powerpointプレゼンテーションをjpgpngまたはbmp画像に変換する)**
– **[PowerPointプレゼンテーションをSVG画像に変換する](#powerpointプレゼンテーションをsvg画像に変換する)**

この記事で使用する方法は、[Spire.Presentation for Python](

元記事を表示

Pandas入門ガイド:データ分析を始めよう

## はじめに
Pythonはデータ分析に非常に適した言語で、その中でも特に強力なライブラリの一つがpandasです。
pandasを使うことで、データの読み込み、操作、解析が簡単に行えます。

### pandasとは?
pandasは、データ操作や解析のための強力なPythonライブラリです。
特に以下のような場合に使用します。

1. **データの読み込みと保存**:
– CSV、Excel、SQLデータベースなど、さまざまな形式のデータを簡単に読み込み、保存できます。

2. **データのクリーニング**:
– 欠損値の処理やデータのフィルタリング、重複の削除など、データをクリーンにするための機能が豊富です。

3. **データの変換と操作**:
– 列や行の追加・削除、データ型の変換、条件に基づくデータの選択など、多くのデータ操作が簡単に行えます。

4. **データの集計とグループ化**:
– ピボットテーブルの作成や、特定の条件に基づくデータの集計、グループ化ができます。

5. **データの可視化**:
– mat

元記事を表示

Pythonコードを使ってExcelのセルをロックする

Excelを使うことで、データを効率よく整理したり、複雑な数式の計算や分析を行うことができます。しかし、チームでの協業が増えるにつれ、データの正確性と完全性を保護することが非常に重要になってきています。Excelのワークシート内では、特定のセルやエリアをロックすることで、セルの内容が不注意に変更されるのを防ぐことができ、重要なデータ、数式、書式設定が誤って変更されるのを避けることができます。このように、ワークシートの一貫性と信頼性を維持することができます。本記事では、Pythonコードを使って**Excelのセルをロックする方法**、一括処理と自動化を行う方法について説明します。

– **[Pythonを使ってExcelワークシートの特定のセルをロックする](#pythonを使ってexcelワークシートの特定のセルをロックする)**
– **[Pythonを使ってExcelワークシートの特定の列をロックする](#pythonを使ってexcelワークシートの特定の列をロックする)**
– **[Pythonを使ってExcelワークシートの特定の行をロックする](#pythonを使ってe

元記事を表示

東大数学を遺伝的アルゴリズムで解く

# はじめに

こんにちは、株式会社コズムの開発部でインターンをしています、鈴木です。
私は機械学習やアルゴリズムを用いた開発をメインに行っており、その中でも特に思い入れの深いアルゴリズムについて執筆する運びとなりました。

ということで今回は、プログラムを駆使して東京大学の入試数学を倒します。
東大生エンジニアも多数在籍する弊社ですが、非東大生である私が日本一の入試問題を解くにはどうしたらよいでしょうか、、、。

それはやはり、アルゴリズム。とりわけ**遺伝的アルゴリズム**一択でしょう!

# 遺伝的アルゴリズムってなんだ

### 進化論的考え方

遺伝的アルゴリズム(genetic algorithm、以下GA)とは、生物の遺伝様式を模した、最適化アルゴリズムの一種です。自然界では、環境に適応した強者が生き残り、遺伝を繰り返していくうちに先の世代では強者の要素をもった個体が支配的となります。

最初、キリンの首の長さには個体差があったのに、高い木になった果実を食べられる首の長いキリンが有利に生き残った結果、後の世代では首の長いキリンだらけになった、という例は有名ですね。進化論の

元記事を表示

OTHERカテゴリの最新記事