- 1. Mp3ファイルを再生 [python]
- 2. 画像認識プログラム作成に向けて
- 3. Python 標準入力について
- 4. python勉強記録①
- 5. 表記の訂正 (paizaランク C 相当)
- 6. PCの初期設定(アプリとminiconda)
- 7. pythonコマンドは使えるが、python3コマンドが使えない
- 8. 【Flet】ヘッダ表示固定の簡易DataTableを作ってみました
- 9. 【Flet】DataTableでスクロールしたい
- 10. TensorFlowを利用するWSGIサーバの構築に向けたPython3環境の構築
- 11. Macのデスクトップに保存したQRコードを、カメラ機能を使わずにPython3で直接読み取る
- 12. flet ページ切り替え (decorator)
- 13. pythonの仮想環境のメモ
- 14. pythonのスタイルガイド
- 15. Pythonでマイル(mile)とキロ(km)を変換するプログラムコードを作成してみた
- 16. Pythonで摂氏(°C)と華氏(°F)を相互変換するプログラムコードを作成してみた
- 17. 初心者がAIモデルで株価予測してみた
- 18. 【Python】テスト・モックのやり方とその仕組み
- 19. 10年稼働してきたGoogle App EngineをPython2からPython3へマイグレーションしました
- 20. [memo]Python logging
Mp3ファイルを再生 [python]
# 概要
デジタルフォトフレームは写真のみ再生ですので、バックグラウンドにMP3ファイルを再生するのもよいかなと思ってネットで調べたものをメモしてみます。# インストールするパッケージ
①サウンドを出力するパッケージをインストールする・パッケージインストール
~~~bash
pi@RPI3B:~ $ pip install playsound
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting playsound
Downloading https://www.piwheels.org/simple/playsound/playsound-1.3.0-py3-none-any.whl (8.0 kB)
Installing collected packages: playsound
Successfully installed playsound-1.3.0
~~~・サンプルコード
~~~bash
import playsound
playso
画像認識プログラム作成に向けて
参考資料:画像認識プログラムレシピ 川島 賢
今回は当該参考書を用いて学習を行った、環境設定で非常に苦労した。
私のような初心者がまず陥る課題は「git for windows」等のアプリケーションが入っていなかったりして、
コマンドプロンプトでエラーが頻発することだ。
何でエラーが起きた際はエラーの原因が何かgoole先生やchatgptを用いて良いので調べる必要がある。
当然、特定のプロンプトを実行するまえに実行する必要があるプロンプトなどもあるから注意が必要。
![キャプチャ1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3827595/2d0d1ae1-6975-26fa-186f-c707c4f3a69d.png)
Python 標準入力について
# はじめに
paizaラーニングを活用して、pythonを学んでいます。
スキルチェックにおいて、標準入力で時間がかかることがあるので、備忘録を兼ねて入力要領を整理しました。# 標準入力とは
Pythonの組み込み関数“ input() “を使用し、キーボードから入力を受け付けるものです。以下の表のとおり整理して記述します。
| 入力値 : 入力先 |入力値が1行 |入力値が複数行 |
|:—————:|:———-:|:————:|
| 数値:変数1つ | ① | ② |
| 変数複数 | ③ | ④ |
| 文字:変数1つ | ⑤ | ⑥ |
| 変数複数 | ⑦ | ⑧ |# 数値入力
### ① 変数が1つの場合(入力値が1行)
(例)入力値が(12)や(1.0)の場合
“`python:入力方法
n =
python勉強記録①
pythonの勉強中で、作りたいものが無いためとりあえず
CPU使用率、memory使用率を取得しDBへ保存するプログラムを作成してみました。**目的**
– DBの学習
– sqlalchemyの使い方“`text
Package Version
————————- ———–
altair 5.3.0
pip 24.0
psutil 6.0.0
pytz 2024.1
SQLAlchemy 2.0.31
streamlit 1.36.0
“`“`python:moniter.py
# pip install psutil
# pip install sqlalchemy
# pip install pytzimport psutil
import datet
表記の訂正 (paizaランク C 相当)
問題
———————————————————————-
paiza 研究所では実験データをわかりやすい形式で保存したいのですが、
機械によって得られる数値には、次のような表記ミスがあることがわかっています。・ ミス 1
先頭に必要のない 0 がいくつかついてしまう
・ 本来 1 である数値が 0001 と表記されてしまう
・ 本来 0.001 である数値が 00.001 と表記されてしまう・ ミス 2
小数である数値の末尾に必要のない 0 がいくつかついてしまう
・ 本来 0.1 である数値が 0.10 と表記されてしまう・ ミス 3
小数である数値に小数点が複数個ついてしまう
ただし、 1 つめの小数点の位置が正しい小数点の位置であるものとします
・ 本来 0.123 である数値が 0.1.2.3 と表記されてしまう。表記が正しくない可能性のある数値を表す文字列 S が与えられるので、その数値を正しい表記にしてください。
S を数値として扱うと上手く処理が行えないので気をつけ
PCの初期設定(アプリとminiconda)
## 前回までのあらすじと今回の話
前回、PC購入までの経緯をいろいろと記述しました。
(前のPCからzenbook14を買うまで)
今回は、macからwindowsに乗り換えたときにどんな初期設定をしていたかの話を、初めての記事投稿イベントに参加しつつお話させていただきます。それはそうと、前の記事が96 viewとのことで、いろいろな方に見ていただいたようで、非常にうれしかったです。ありがとうございます。
今回は、初期設定でかなり悪戦苦闘したので、それについての話をしていきます。
悪戦苦闘した過程を記載するので、かなり長くなります。## installしたアプリケーション
インストールしたアプリは以下の通りです
– python3.12 (MS store経由)
condaなどのベースに必要
– miniconda (ブラウザ(brave)経由)
前のパソコンでanacondaを使っていたが、
インストールされるパッケージが多すぎたのでこちらを選択
– vscode (ブラウザ(brave)経由)
&en
pythonコマンドは使えるが、python3コマンドが使えない
## はじめに
pythonを使って共同で開発をしていたところ、以下のようなsubprocessで`python3`コマンドを使って非同期でファイル実行するコードが動かなかった。
“`python
subprocess.run([“python3”, os.path.join(script_dir, “hogehoge.py”)], check=True)
“`調べてみたところ、私の環境で`python3`コマンドではなく、`python`コマンドでしかpythonを動かすことができない事が原因でした。
一人で開発する分にはコードのpython3という記述をpythonに変えてやるだけで良いのですが、共同開発なのでむやみに変更するわけにもいきません。
そこで今回は`python3`コマンドが動かない原因と解決策を調べたのでまとめいきます
## python3が動かない原因
基本、windowsではpythonがpython.exeがインストールされていることが一般的です。
一方でLinuxやMac OSのようなUnix系システムではpython2.Xとpython3.Xコ
【Flet】ヘッダ表示固定の簡易DataTableを作ってみました
# 概要
FletのDataTableですが、表をスクロールするとヘッダもスクロールされて見えなくなってしまいます。
これを改善するために、ヘッダ表示固定の簡易DataTableを作ってみました。# 解決したいこと
Flet標準のDataTableは、ヘッダごとスクロールされます。
ヘッダが見えなくなっちゃうので、ヘッダが固定されたデータ表を作りたい。↓Flet標準のDataTable
![datatable.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601563/54cc9143-4e66-f1ff-2c93-fcc9c7a78280.gif)# ヘッダ固定のデータ表を作ってみました
イメージ図は以下になります。FixedHeaderDataTableクラスは、Columnコントロールを継承しています。
その中でヘッダ部分とスクロール可能なデータ部を配置しています。
そのFixedHeaderDataTableクラスをPageへ配置しています。![名称未設定ファイル.draw
【Flet】DataTableでスクロールしたい
# 概要
Fletを試していてちょっと躓いたところがあったので備忘録として記載します。
データ表を表現しようと、FletのコントロールであるDataTableを使おうとしたのですが長い表になるとスクロールできませんでした。
スクロールできるようにする方法を簡単な例で説明いたします。# 結論
スクロール可能なコントロールの中に配置しないといけないそうです。
Fletではスクロール可能なコントロールが決まっているようです。https://flet.dev/blog/scrolling-controls-and-theming/
# 簡単な例で説明
Pythonバージョン:3.10.10
Fletバージョン:0.22.1### DataTableをそのまま配置するとスクロールできません
スクロールバーが表示されず、全データ見ることができないです。
![スクリーンショット 2024-05-31 162856.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601563/7e771b87-bb2d-f
TensorFlowを利用するWSGIサーバの構築に向けたPython3環境の構築
# 背景
ChatGPTには、画像アップロード機能が加わり、画像解析を行う機能が追加されたことを知ることになった。
画像ストアサービス【PhotoGallery(osm.yokohama)】を運営する身としては、垂涎ものである機能と思い、早速WebAPI経由で接続をすることを試したくなった。
そんな中、ChatGPTの中で、文章末尾にあるソースの提示を受ける。ありがたや、ありがたや。
## 前提
OS: Amazon Linux 2
Python: version python-3.9.18
Apache Web Server version: Apache/2.4.59#### TensorFlowは、以下のスレッドで問題に上がっているようなことがあるため、Pythonバージョンを指定する必要がある
https://github.com/pybind/pybind11/is
Macのデスクトップに保存したQRコードを、カメラ機能を使わずにPython3で直接読み取る
# 環境
>macOS ventura 13.2
Python 3.10.4
selenium 4.19.0(pip)
pyzbar 0.1.9(pip)
zbar 0.23.93(HomeBrew)# これを作った理由
>iPhonで読むには文字が小さすぎるので、パソコンで読みたい(もう70才なので小さい文字はどうも・・・)。
でもQRコードを読み込むのはどうすればいい?
iphonでqrコードを読み取ってメールで送る?
iPhonみたいにカメラで写真も撮れないし・・・。
それでは、Macのディレクトリやデスクトップに保存したQRコードを、カメラ機能を使わずにPython3で直接読み取ることは出来ない?
ということでChat-GPTに相談したところ、
Pillowライブラリを使用して画像を読み込み、qrcodeライブラリを使用してQRコードをデコードする方法がある
という事なので相談しながら作ってみました。# 必要なライブラリの確認
>1, Homebrewに”zbar”が入ってますか?
入ってなければ:brew install zbar
2
flet ページ切り替え (decorator)
最初は [flet-easy](https://github.com/Daxexs/flet-easy)を使おうとしたけど
`page.theme_mode` がページ上で変更できなかったり (見つけてないだけかも)
`fs.Datasy` が使いにくかったので、fletだけで作ろうと思い
flet-easyの構文が好きだったので作りました“`py: easy_app.py
import flet as ftclass EasyApp():
def __init__(self, route_init=”/”):
self.route_init = route_init
self.route_list = []
self.ft_page = None
self._custom_wrapper_befor = None
self._custom_wrapper_after = Nonedef custom_wrapper_befor(self, func):
self._custom_wrapper_befor =
pythonの仮想環境のメモ
## はじめに
2024年7月号のSoftware Designのセキュリティの対策と強化のコーナーの第4章の「CTFに挑戦」にて、pythonを使用し、SQLインジェクション攻撃を利用して、データベース内の特定のテーブルの情報を取得する記載がありましたので、その環境作りのメモとなります。## 内容
Pythonでは、仮想環境ディレクトリを作成して、その環境内でのみパッケージが適用されます。この仕組みを利用することで、システム全体に影響を与えずにプロジェクトごとに適切な環境を構築することができます。
本件はmacを使用しています。## 作成
### 仮想環境の仕組み1. **仮想環境ディレクトリの作成**: `python3 -m venv myenv` コマンドを実行すると、`myenv` という名前のディレクトリが作成されます。このディレクトリには、独自のPython実行環境とその環境に特化したライブラリの管理ツール(例えば、`pip`)が含まれます。
2. **仮想環境のアクティベート**: `source myenv/bin/activate` を実行すると、その
pythonのスタイルガイド
変数定義(snake_case)
• 変数の後には1つのスペースを入れる。
• 行の最後にスペースを入れない。
• 宣言後変更しない変数は大文字のスネークケース(例:円周率など PI)を使用する。関数(snake_case)
• 引数の「=」にはスペースを入れない。
• 引数が多い場合は、引数の先頭に合わせて改行する。
• 関数間は2行空ける。演算子
• 演算子の周りには1つのスペースを入れる。ただし、演算子の優先順位がある場合はスペースを入れない。
コンマ
• コンマの後にはスペースを入れる。ただし、その後に閉じカッコが来る場合はスペースを入れない。
コンテナ
• 要素を並べる時にコンマで終えることが可能。そうすることで簡単に行を追加でき、gitなどのバージョン管理で差分にならない。
• この方法を用いる場合、閉じカッコは次の行にすること。クラス(CamelCase)
• メソッド間は1行空ける。
改行の仕方
• バックスラッシュ(\)で区切る。
• 演算子を行の先頭にして改行する。インポート(import)
• im
Pythonでマイル(mile)とキロ(km)を変換するプログラムコードを作成してみた
### 前置き
日本では、野球の投手の球速や野手の打球速度を測る時に、キロ(km)が使用されているが、アメリカでは、マイル(mile)が使用されている。そこで、今日は、キロからマイルに変換できるプログラムコードを作成してみたかった。### プログラムコード(マイルからキロに変換)
“` python
from tkinter import *def miles_to_km():
miles = float(miles_input.get())
km = miles * 1.609344
kilometer_result_label.config(text=f”{km}”)window = Tk()
window.title(“Miles to Km converter”)
window.config(padx = 20, pady = 20)miles_input = Entry(width = 7)
miles_input.grid(column = 1, row = 0)miles_label = Label(text = “Miles”)
Pythonで摂氏(°C)と華氏(°F)を相互変換するプログラムコードを作成してみた
### 前置き
日本では、気温を測るときに、摂氏(°C)が使用されているが、アメリカでは華氏(°F)が使用されている。ほとんどの国においては、摂氏(°C)が使用されている。今日は、
摂氏(°C)から華氏(°F)に変換するプログラムコードを作成してみたかった。### プログラムコード (気温を摂氏(°C)から華氏(°F)に変換)
“`python
import tkinter as tk
from tkinter import ttkdef celcius_to_fahrenheit():
celcius_to_fahrenheit = float(celcius_input.get())
celcius = celcius_to_fahrenheit * 9/5 + 32
celcius_result_label.config(text=f”{celcius}”)window = tk.Tk()
window.title(“ºC to ºF converter”)
window.config(padx = 20, pady = 20)# Get scree
初心者がAIモデルで株価予測してみた
## 目次
1. はじめに
1. 本記事の概要
1. 実行環境
1. 株価予測の実装
1. おわりに## はじめに
2024年2月より、Aidemy premiumにて「データ分析講座6ヶ月コース」を受講しました。
育休中にスキルアップをして復職後の仕事の質を高めたい、そして働き方の選択肢を増やしたいと考えたのがきっかけでした。## 本記事の概要
* 約半年間学んだ内容のアウトプットを目的としています。今回はハードルは高く設定しすぎず、基礎を大切に、まずは完成させることを第一にしています。
* SARIMAモデルを用いた時系列分析を行い、株価予測をします。今回は資生堂の株価データのうち終値のデータを用い、以下の2パターンの分析を行います。
1. 日別データから算出した月平均データを用いて構築したモデルからの予測
1. 週別データを用いて構築したモデルからの予測## 実行環境
* Python 3.10.12
* Google Colaboratory## 株価予測の実装
### その1. 日別データを月平均にならして利用
Yahoo!ファイナンスから取得
【Python】テスト・モックのやり方とその仕組み
# 概要
Pythonでテストといえば、unittestやpytestが有名ですが、unittestやpytestを使わないやり方、unittestとpytestの違いなどを解説していきたいと思います。まず、テストするにあたり、モックのための前提知識として、再宣言について解説し、次に実際にテストの解説をしていきます。
この記事を読むと以下のことが理解できるようになります。
* [再宣言について](#再宣言)
* [ライブラリを用いないテストの使い方](#ライブラリを使わずにテストする)
* [なぜライブラリが必要なのか?](#モックの問題点)
* [unittestの使い方](#unittest)
* [pytestの使い方](#pytest)初心者の方やPythonのテストの仕組みについて知りたい方におすすめです。
# 再宣言
PythonではGoやJavaなどの言語とは異なり、再宣言が可能です。
“`python
a = 1
a = 1 # エラーにならない
“`他の言語では以下のようにコンパイルエラーになります。(以下はGoの例)
“`go:goの場合
10年稼働してきたGoogle App EngineをPython2からPython3へマイグレーションしました
# 概要
こんにちは、SNSピリカ開発チームの冨田です。
今年の1月にAPIサーバをPython3に移行するプロジェクトを完遂しました。
本プロジェクトは、SNSピリカ開発チームのメンバーはもちろん、それ以外のメンバー、業務委託で一時的に関わってくださった方々、テストで関わってくださった方々、すでに退社された方々など、たくさんの方々の知恵が詰まっています。
# 背景
SNSピリカ[^1]は、2011年から稼働しているサービスです。従来APIサーバはAppEngine/Python2.7上で稼働していました。
Python2.7は2020年初にPython公式のサポートが終了しました。ピリカでも少しずつマイグレーションを進めていましたが、ビジネス上の理由から他の開発に時間と人員を割かなくてはならず、マイグレーションはあまり進められずにいました。
そんな中、[2024年1月末のサポートの終了](https://cloud.google.com/appengine/docs/standard/lifecycle/support-schedule?hl=ja#python)がアナウ
[memo]Python logging
python logging機能を自分用にまとめました
きまぐれに追記・修正するかもしれませんhttps://docs.python.org/ja/3/howto/logging.html
# Loggerの部品
loggerとしては以下のオブジェクトがある
– logger:アプリケーションコードが直接使うインターフェースを公開します
– handler:(ロガーによって生成された) ログ記録を適切な送信先に送ります
– filterどのログ記録を出力するかを決定する、きめ細かい機能を提供します
– formatter:ログ記録が最終的に出力されるレイアウトを指定します> ログイベント情報は LogRecord インスタンスの形で、 logger, handler, filter, formatter の間でやりとりされます。
# LoggerとHandlerのフローチャート
![](https://docs.python.org/ja/3/_images/logging_flow.png)
# Loggerオブジェクト
> Logger オブジェクトの仕