Python3関連のことを調べてみた2022年11月10日

Python3関連のことを調べてみた2022年11月10日

PythonでSpeechRecognitionを使ってリアルタイム文字起こし【Windows】

# 概要

GoogleのSpeechRecognitionというライブラリを使ってリアルタイム文字起こしをしました。
用途としてはリモート会議や授業での音声をリアルタイム文字起こしして、議事録作成やメモの省力化などに使えると思います。

## 利用するライブラリ
– リアルタイムで文字起こしするライブラリ:SpeechRecognition
– パソコンからの音声出力をキャッチするライブラリ:PyAudio

“`
wave
time
datetime
speech_recognition
pyaudio
“`

### ライブラリの入れ方
“`pip install SpeechRecognition“`で入れられます。
注意点は、ライブラリのインストールの時とインポートする時とでスペルの大文字小文字が異なる点です。
– インストールの時:大文字小文字で”_”が不要:“`SpeechRecognition“`
– インポートの時:全部小文字で”_”が必要:“`speech_recognition“`

### デバイスから出力される音声を使えるようにするための下

元記事を表示

40代おっさんFastAPIを勉強する

## 本記事について

この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。

## getでFastAPIを動かす

“`python
from fastapi import FastAPI

app = FastAPI()

@app.get(“/”) # getで / にアクセスがあったら下の関数を実行
async def index(): # asyncで非同期処理を実装できる
return {“message”: “利樹大好き”}
“`

サーバー起動(main.py)

“`bash
uvicorn main:app –reload
“`

{“message”:”利樹大好き”}

となっていれば成功

local hostに`/docs`をつけると
ドキュメントが見られる。
Swagger UIが使われている。
FastAPIはSwagger UIを自動生成している。

local hostに`/redoc`をつけると
redocベースの

元記事を表示

Pythonで祝日を判定

#### 0.初めに
国内株などに投資をしていると平日だけ実行したいプログラムが思い浮かぶ。
Windows10 のタスクスケジューラは祝日に実行しない設定が存在しない。
そこで祝日のみをピンポイントで弾く必要性を感じた。

#### 1.jpholidayをインストールする
コマンドプロンプトで
`pip install jpholiday`
を入力

#### 2.サンプルプログラム
holiday.pyは祝日のとき終了するプログラム
exit()の下に(インデントを戻して)実施したいプログラムを記述すればよい
“`python:holiday.py
import datetime
import jpholiday

if jpholiday.is_holiday(datetime.date.today()):
print(“Today is a holiday, so this program will not work.”)
exit()
“`

元記事を表示

PyQt6Creatorにて作成した.uiファイルを.pyファイルへ変換

# 環境
* Windows 10 Pro
* Python 3.1.0
* Qt Creator 8.0.2
* Pyside6 6.4.0
* PyQt6 6.4.0
* Qt6 6.4.0
コマンドで以下を入力
“`command:Qt6
uic -g python form.ui > ui_form.py
“`
“`command:Pyside6
pyside6-uic form.ui > ui_form.py
“`
“`command:PyQt6
pyuic6 form.ui > ui_form.py
“`
どれも同じ結果になります。
formの部分は各々のファイル名に書き直してください。
忘れたときにどうぞ。

# 参考ページ
* https://doc.qt.io/qt-6/uic.html
* https://doc.qt.io/qt-6/designer-using-a-ui-file-python.html

元記事を表示

[Django]settings.pyでよく見るパラメータまとめのメモ

# はじめに
業務でDjangoを使っているのですが、
あまり設定ファイルをいじることがないので、この際パラメータにどんなものがあるか調べてみました。
大体は名前から意味が予測つくようになっていると思いますが、注意点なども含めて書き残しておきたいと思います。

# デフォルトで存在するパラメータ
## BASE_DIR
・プロジェクトの基となるフォルダ
・`django-admin startproject projects-name`で作成したプロジェクトの一番上位のフォルダ
## SECRET_KEY
・Django のインストールごとに設定される個別の秘密鍵
・暗号化やハッシュ化で用いられる秘密鍵であり、Djangoプロジェクト作成時にランダムに生成される
## DEBUG
・本番環境では必ずFalse
・開発環境でデバッグが必要な時にTrueにしておく。エラーが起きたときに、詳細なエラー画面を表示してくれる。ただしKEYやPASSなどの重要情報はセキュリティのため表示されないようになっている。
・実行したクエリを全て記憶しておくので、メモリへの負荷は高い
## ALLIWED_

元記事を表示

VSCodeにてDocker(CentOS7)のFlask環境を構築(venv使用)

# 環境
macOS Monterey
VSCode 1.73.0
docker desktop 4.13.1
docker Engine 20.10.20
docker Compose v2.12.1
Python 3.9.15
Flask 2.2.2

# DockerにてCentOS7立ち上げ

Dockerインストール
https://qiita.com/suzukiti/items/391bfce352ba94ad3f0d#docker%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

なんか以前自分が書いたみたいでした。
VSCodeのDev containers拡張機能を使います。(これも上の記事に書いてあった)

## コード(結論)

“`json:devcontainer.json
{
“name”: “sample_flask_app”,
“dockerComposeFile”: [“./docker-compose.yml”],
“service”: “app”,
“workspac

元記事を表示

Deep Learning from scratch 2にBahdanau Attention

 RNN (GRU) を使った Attention 付きの seq2seq モデルのニューラルネットワークについてです(実行確認済のソースコード有)。この記事に掲載するソースは、斎藤康毅さんの書いた「ゼロから作る Deep Learning 2 自然言語処理編」の第8章で提示されたソースにクラスを付け加えて、Bahdanau attention を使えるようにするものです。斎藤さんも、Attention については、いろいろな方法があると著書で書かれています。その一つのバリエーションです。Bahdanau attention については、tensorflow のページ

https://tensorflow.classcat.com/2019/04/07/tf20-alpha-tutorials-sequences-nmt-with-attention/

で使われているものを勉強して実装しました。

 付け加えるクラスは

  • AttentionSeq2seq2 クラス
  • AttentionEncoder2 クラス
  • AttentionDe
元記事を表示

DataFlowのパイプラインでCerberusの機能を使って、csvをチェックしてみた。

# はじめに
現在業務でGCPのDataFlowを使ってデータパイプラインを構築しており、CSVファイルがアプリケーションから来るのですが、たまにユーザが手で直したりなんてことがあるので、バリデーションして、不適当な行があれば省いて、後続のデータパイプラインに流したいと思っています。(上流の運用なおしたいのはやまやまですが。。。)
そこでCerberusというバリデーションライブラリがあったので、いっちょやってみようと思った次第です。

# Cerberusとは
Pythonのデータ検証用のライブラリで
「Cerberusは、強力でありながらシンプルで軽量なデータ検証機能をすぐに提供し、簡単に拡張できるように設計されているため、カスタム検証が可能です。依存関係はなく、Python 2.7から3.8、PyPyおよびPyPy3まで徹底的にテストされています。」とのこと
(引用元https://docs.python-cerberus.org/en/stable/index.html)

簡単に機能と使い方を説明すると、データとチェック用のファイルを比較して、OK/NGを判断してくれます。

元記事を表示

ubuntuでtkinterが使えなくなった(泣)

## はじめに
初カキコども
Ze;roPです〜
最近pythonにお熱で難しいことはよくわからないけど、適当にツール作って遊んではそれを仕事で活かしたりして遊んでます。
さて、コマンドラインツールやマクロのようなものばかり作っていて、ちょっとユーザーに優しい感じのツールも作れたらいいかも〜って思ってtkinterを使おうとインストールして、リファレンスのhello worldを実行しようとした矢先、それは起きました。。。
## 突然のエラー
“`
$ python3 -m tkinter
Traceback (most recent call last):
File “/home/USER/.pyenv/versions/3.10.7/lib/python3.10/runpy.py”, line 187, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File “/home/USER/.pyenv/versions/3.10.

元記事を表示

【OpenCV】2つの画像の類似点の座標(X,Y)をndarray形式の変数に格納する【Python】

[参考文献:opencv画像をマッチングする](https://wonderfuru.com/opencv%E3%81%A7%E7%94%BB%E5%83%8F%E3%83%9E%E3%83%83%E3%83%81%E3%83%B3%E3%82%B0%E3%82%92%E3%81%99%E3%82%8B/)
# はじめに
[前回のQiitaの記事](https://qiita.com/matttchan/items/0bf30b808b267222d881)ではAkazaのおかげで特徴点マッチングを実現することができた。今回は、その特徴点の座標を取得し、より数学的に画像を扱えるように加工していく。

**P.S.この記事はやや深夜テンションで執筆しているので読み進めると気分を害されるかもしれません。耐えてください。**

# 環境
OS : Ubuntu 20.04 LTS (最新バージョンも対応してるかも)
Python : 3.8.10
OpenCV-Python : 4.6.0

# きらきら復習たいーむ
## Pythonの文法覚えてるかなチェック
最終的にaの変数はどうなるか

元記事を表示

【Pyaudio】を使って録音と再生をする(Windows)

# 概要
Windowsのデバイスから出力される音声を録音するコードです。

リモート会議の音声の録音などができます。筆者が以前書いた「 [WindowsでWhisperとpysummarizationを使って音声データの文字起こしと要約させてみた](https://qiita.com/TEST_KEN/items/562d51d79da28f055544) 」と組み合わせると、録音した会議を自動で文字起こしし、かつ要約もできるようになると思います。

## 利用するライブラリ

– 録音に使うライブラリ:『pyaudio』というライブラリを使います。

“`
datetime
wave
time
pyaudio
“`

### ライブラリの入れ方

“`pyaudio“`の入れ方は“`pip install pyaudio“`でできます。

### デバイスから出力される音声を録音するための下準備

具体的なコードを掲載する前に、デバイスから出力される音声を録音するためには下準備が必要です。具体的にはループバック録音をできるように設定します。ループバック録音の設定の仕方

元記事を表示

WindowsでWhisperとpysummarizationを使って音声データの文字起こしと要約させてみた

# 概要
タイトル通り、音声データ(今回はwavファイル)を日本語に文字起こしさせて、文字起こしした文章をpythonで要約してみます。

想定している使い方としては、オンライン会議での簡易的な議事録作成などに使えればと思って作成しています。「会議での音声を録音して、それを文字起こしさせたいなー。できればその文章を要約してくれると助かるなー」というなまけ心が発動しました。

要約の方法は『抽出型』と『抽象型』の2つがありますが今回は“`pysummarization“`という神ライブラリを使うので、後者の抽象型の要約の仕方で実装します。
(抽出型の代表的なライブラリとして“`sumy“`というものがありますが今回はサクッと要約させたかったので“`pysummarization“`を使っています)

## 利用するライブラリ
– 文字起こしに使うライブラリ:OpenAIが公開したオープンソースの音声認識ソフトウェアである『Whisper』を使ってみます。
– 要約に使うのは、『pysummarization』というライブラリを使います。

今回利用しているライブラリをすべて

元記事を表示

【ORM】SQLAlchemyを使ってみた感想

# はじめに

最近はPythonを書いてます。どうも僕です。

PythonでDBを扱う際、`SQLAlchemy`というORMが選択肢に入ってくるかと思います。

今回はこいつをある程度触った感想なりを書いていきます。

# 感想
使ってみた所感を。
\
**「んーーーー微妙。。。。」**
\
といった感じ。
(なんかいろいろ言われそう怖い…)

なにが微妙な点なのか。

もちろん、いい点もあり、なんとも言えない部分もあります

# 基本的な使い方

SQLAlchemyでは、DBへの接続を`session`として扱い、クエリを実行します。

“`python:sessionの定義
from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.declarative import declarative_base

# mysql の設定
DATABASE = ‘mysql://%s:%s@%s:%s/%s?charset=utf8’ % (
“認証情報”
)

ENGINE = cr

元記事を表示

[Python]テキストファイルから特定の行を取得

# 目次
– [目次](#目次)
– [はじめに](#はじめに)
– [サンプルテキストファイル](#サンプルテキストファイル)
– [行番号で指定した行を取得](#行番号で指定した行を取得)
– [行ごとに分割したリストから取得](#行ごとに分割したリストから取得)
– [linecacheで取得](#linecacheで取得)
– [最初の行と最後の行を取得](#最初の行と最後の行を取得)
– [最初の行](#最初の行)
– [最後の行](#最後の行)
– [特定の文字列が含まれる行を取得](#特定の文字列が含まれる行を取得)
– [開始行と終了行を文字列で指定し、その間の行を取得](#開始行と終了行を文字列で指定しその間の行を取得)
– [参考](#参考)

# はじめに
– 今回はpythonでテキストファイルから特定の行を取得してみたいと思います。
– 以下の環境で動作確認をしています。
– python: Python 3.11.0
– os: macOS Ventura 13.0
# サンプルテキストファイル
以下、今回用意したサンプルテキストファイルです。

元記事を表示

[Python]ファイルの読み書き操作

# 目次
– [目次](#目次)
– [はじめに](#はじめに)
– [ファイルの書き込み](#ファイルの書き込み)
– [open関数でファイルを開く](#open関数でファイルを開く)
– [with文でファイルを開く](#with文でファイルを開く)
– [書き換えと追記](#書き換えと追記)
– [改行を入れる](#改行を入れる)
– [writelinesメソッドでリストを書き込む](#writelinesメソッドでリストを書き込む)
– [ファイルが存在しない場合のみ新規作成して書き込む](#ファイルが存在しない場合のみ新規作成して書き込む)
– [print関数で書き込む](#print関数で書き込む)
– [ファイルの読み込み](#ファイルの読み込み)
– [readメソッドで全文を読み込む](#readメソッドで全文を読み込む)
– [readメソッドで文字数を指定して読み込む](#readメソッドで文字数を指定して読み込む)
– [tellメソッドで現在位置を取得](#tellメソッドで現在位置を取得)
– [seekメソ

元記事を表示

PythonのNetworkXのUnionFind(DSU)の特徴のメモ

# 最初に

AtCoderのPythonで使える`networkx`の`UnionFind`のメモです。
AtCoderで使えるけれど、あまり速くない気がします。

`networkx`の`UnionFind`をRubyに移植したい機会があり、
実装を見る機会があったので、特徴をまとめたいと思います。

ただ、普段Pythonを使わず、Pythonの用語じゃないかもしれないので、違ってたらコメントでも修正でも書いてもらえたら、嬉しいです。

# UnionFindの特徴

DSU(disjoint set union)とも言いますね。

出来ることは主に
– 要素の結合して、同じグループとする。
– それぞれの要素が同じグループにいるかどうかを素早く確かめる。

ですね。

# 主なメソッドの特徴

主なメソッドの特徴を書いていきます。

## `__init__`

インスタンスを作るとき、初期化はリストや範囲型の変数を引数で渡します。
`for`文で回せるイテラブルなものは引数にとれます。
何も引数を渡さなければ、空リストと同じ扱いです。
引数にとるものは、グラフの要素(node

元記事を表示

BertJapaneseTokenizer を用いる際に必要なライブラリ

#### BertJapaneseTokenizerをhugging faceのcl-tohokuのbartモデルを利用する際に必要なライブラリのメモ

###### mecabとfugashiが使えればOK

“`.tsx:Bash
pip install mecab-python3
pip install unidic
pip install ipadic
pip install fugashi

“`

元記事を表示

VSCODEを使ってFlaskを使えるように環境を作った方が確実

先日GitHubで公開したプログラムに、GUIを付けようとWeb開発環境を作っていました。
virtualboxにインストールしているUbuntu22.04を使って、python開発環境を作りました。

既にUbuntuにpython3が、インストールされている状態です。
その後、Jupiternotebookをインストールしていました。
でも、ネットで見つけた記事のように、インストールができた確認ができずネット検索を続けていました。
その様子をまとめていますので、こちらの記事も併せて読んで頂けましたら幸いです。

https://zenn.dev/masaru21/articles/285ff4c3e0d123

今回は、下記の記事を見つけました。
この記事に従って、勉強しました。

https://atmarkit.itmedia.co.jp/ait/articles/1807/24/news024.html

そして、この画像のように、同じ内容を実行できました。
![スクリーンショット_20221106_102826.png](https://qiita-image-store.

元記事を表示

pyenvから3.11をインストール

pyenvをアップデートしたら3.11が追加されていました。

“`shell
$ pyenv update
$ pyenv -v
pyenv 2.3.6
$ pyenv install –list | grep ” 3.1[0-9]”
3.10.0
3.10-dev
3.10.1
3.10.2
3.10.3
3.10.4
3.10.5
3.10.6
3.10.7
3.10.8
3.11.0
3.11-dev
3.12.0a1
3.12-dev
“`

早速インストールしてデフォルトにしました。

“`shell
$ pyenv install 3.11.0
$ pyenv global 3.11.0
$ pyenv rehash
$ pyenv versions
system
3.10.7
* 3.11.0 (set by /Users/k.abe/.pyenv/version)
“`

高速化が気になったのでクラスメソッドさんの記事を参考にパフォーマンスを測ってみました。参考にしたブログは[こちら](h

元記事を表示

【Python / Pyxel】Webで遊べてSNSに共有できる,レトロゲームを作ってみた.

![image_home.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2952428/6d5275b8-2284-680b-ebe4-af81e09a7e2b.png)

# はじめに

はじめまして,
[42tokyo Advent Calendar 2022](https://qiita.com/advent-calendar/2022/42tokyo)の8日目を担当する、changです.
今回は,Python向けのレトロゲームエンジンであるPyxelを使って,簡単なミニゲームを制作しました.Pyxelはゼロベースで学習しながらの制作でした.その際に学んだこと,役に立った知識や文献等を,時系列を追って簡単にまとめます.尚,今回はサウンドや効果音周りにまでは手を広げず,あくまでも最低限の基本要素のみとさせていただきます.
Pyxelをゼロから始めてみたい方の参考になれば幸いです.

# 目次

1. [Pyxelとは](

元記事を表示

OTHERカテゴリの最新記事