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

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

オムロン環境センサ(2JCIE-BU)をラズパイで使ってみた。(5)

今回は、センサーの話はあまりなく、ラズパイで音声合成のメッセージを流すまでの作業の記録です。
最後に、センサーから取得したデータから何らかのメッセージ(温湿度とか熱中症注意のめせーじとか)を流すことを目標としています。

# ラズパイとスピーカー

100円ショップで購入したスピーカーをラズパイに接続しています。
いろいろとあったので最後に追記。

# Audioの設定

“`shell-session:
pi@raspberrypi:~ $ sudo raspi-config
“`
「1 System Options」を選択します。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/2141ca63-ce15-99db-24f0-25686b4e179c.png)|
|:-:|

「S2 Audio」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2818

元記事を表示

boto3でECSを使ってブログ開設するまでを自動化

# 開発前の状態

* 今後の仕事でAWSを触ると聞き,知識ゼロなのでヤバみを感じた
* とりあえず本を買って勉強して雰囲気は掴んだ気になっている
* https://www.amazon.co.jp/Amazon-Web-Services-基礎からのネットワーク-サーバー構築/dp/4822237443
* GUIぽちぽちすればやりたいことはできると感じたが,さらなるステップアップをするためにはどうしたらいいか悩んだ
* これまでの仕事でAnsibleなどによる環境構築自動化や,dockerなどのコンテナ技術のありがたみは非常に実感していた
* なので,
* 環境設定をすべて自動化し
* EC2上での作業を予めDockerImage化しておいてデプロイところまで頑張ってみたいと思った

# コード

https://github.com/fugashy/aws_network_and_server_sample

## やっていること

* VPCからECSのサービス開始までを全自動化
* VPC,Subnetなどを依存関係に注意して作成していく

元記事を表示

pythonを使ってRestAPIでファイルを取得する

#はじめに
pythonでRestAPIを実行し、テキストファイルを取得し、保存するコードです。

######環境
python3.9.6

#サンプルコード

“`python
import requests

url = ‘https://[対象のURL]’
headers = {‘Content-Type’:’application/json’,’xxx-key’:’‘}

try:
#APIで隔離メールをダウンロード、失敗したらエラーを出力
response = requests.get(url , headers=headers)
response.raise_for_status()
except requests.exceptions.RequestsException as e:
print(“エラー:”,e)

#ファイルを取得できた場合に、filename.txtとしてファイルを保存する。
if response.status_code == 200:
with open(“filename.txt” ,mod

元記事を表示

AOJトライに関する知識知見の記録共有 (Volume0-0040)

# 概要
Affine Cipher

https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0040

# コード
空白文字に定数-1を割り付け

“`

def char2int(data, inv=False):
c_seq = “abcdefghijklmnopqrstuvwxyz ”
if inv:
ret = c_seq[data]
else:
ret = -1
for ret, c in enumerate(c_seq):
if data == c:
break
return ret

def f(c, a, b):
if c == ” “:
ret = -1
else:
ret = (a * char2int(c) + b) % 26
return ret

def core(enc_str):
ret =

元記事を表示

pip/pipenvのSSLエラーが出てハマりまくった。

昔、プロキシ環境下で、pip/pipenvにハマったので、備忘録として解決できた方法をまとめました。

## 今回発生したエラー内容
pipもしくはpipenvを実行すると、以下のエラー内容が表示された。

“`
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLError(1, ‘[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1108)’))’:
)’))’:
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLError(1, ‘[SSL: WRONG_VERSION_NUMBER] wrong versi

元記事を表示

pygameでテキストを中央寄せにする

いろいろ調べてもやり方がよく分からず、分解して考えることで理解できる気がしたのでまとめてみた。
全体像はこんな感じ。

“`python
import pygame

WIDTH = 500
HEIGHT = 500

pygame.init()

screen = pygame.display.set_mode((WIDTH, HEIGHT))
font = pygame.font.SysFont(None, 120)

text = font.render(“Test”, False, (255,255,255))
text_rect = text.get_rect(center=(WIDTH//2, HEIGHT//2))

endFlag = False
while endFlag == False:
for event in pygame.event.get():
if event.type == pygame.QUIT:
endFlag = True
screen.blit(text, text_rect)

元記事を表示

【Python】for文で辞書(dictionary)繰り返し処理

辞書また、辞書型変数(dictionary)はkey-valueで格納されるデータです。
### 自分の定義した辞書
“`python
myDict = {‘John’ : 180, ‘Naomi’: 156, ‘Terry’: 177, ‘Stella’: 160}
“`

### 1. キー(key)だけ取る
#### 1.1 デフォルトでアクセス
“`python
for key in myDict:
print(key)
“””
結果:
John
Naomi
Terry
Stella
“””
“`

#### 1.2 dictionary.keys()でアクセス
“`python
for key in myDict.keys():
print(key)
“””
結果:
John
Naomi
Terry
Stella
“””
“`

### 2. 値(value)だけ取る
“`python
for value in myDict.values():
print(value)
“””
結果:
180
156
177
160
“””
“`

元記事を表示

3D姿勢推定+Unityでリアルタイム3Dトラッキングするシステムについて現状まとめ

#何をした?
3D人物姿勢推定機械学習モデルを用いてWEBカメラの画像から人物の各関節位置(姿勢)をリアルタイムで推定し、得られた3D位置を使用してUnity上の3Dモデルを動かすシステムを作成

#成果
**1.複数人のリアルタイムトラッキング**
GoogleColaboratory上の3D姿勢推定モデル
入力:WEBカメラの画像をYoutubeLive経由で送信
出力:カメラ位置を原点とした各関節の3D位置(10~15FPS程度)

↓ UDP通信

ローカルPC上のUnity
入力:カメラ位置を原点とした各関節の3D位置(関節間の角度をモデルに適用)
出力:3Dモデルのモーション(リアルタイム表示・BVH形式出力)

**2.指のトラッキング**
MediaPipeのHand Trackingモデルを追加して指のトラッキングを追加

#使用した機械学習モデルについて(複数のモデルの

元記事を表示

ラズパイで消費電力を取得する(1)

#目的
Raspberry Pi4とCTセンサーを用いて、消費電力を取得し、AWS IoT Core経由で、ElasticSearchに流し込むこと。

#方法
ざっくりの流れは以下の通りです。

1. ハードウェアの構築
1. 消費電力取得プログラムの作成
1. AWS環境の構築

###1.1 ラズパイのセットアップ

まずは、ラズパイ上で、Pythonのスクリプトが実行できるようにセットアップしていきます。

####1.1.1 必要なものを用意する

* Raspberry Pi 4(通称ラズパイ)
* USB-Cの電源(3.0A以上供給可能なもの)
* あらかじめRaspberry Pi OSがインストールされたmicroSDカード
* USBキーボード
* USBマウス
* モニター
* マイクロ HDMI-HDMIケーブル

**ラズパイのインターフェース**

スクリーンショット 2021-10-21 15.53.31.pngRaspberry Pi 上で UART通信をする Pthon環境で プログラム

【1960年生まれのおじさん日記】
 60歳の定年退職後に再就職した現在の職場で ≪STM32(32bit汎用マイコン)≫でプログラム作成を
 依頼され その後もRaspberry Pi でブロックチェーンを構築してと言われ 分からないことだらけ!
 一応は、若いころから 製造業で働き 制御用ソフト や アプリケーションの作成をしたこともある
 けれども・・・

 この年齢になって Raspberry Pi でブロックチェーンの構築などするとは思わなかったおじさんの
 メモ書き記録。間違いも多々あるかと思いますが、お許しください。


**はじめに**
Raspberry Pi4 上で UART通信を行う プログラムを Pythonで書いてみました。

環境は、Raspberry Pi4 に標準で搭載されている [Thonny Python IDE]


**準備**
シリアル通信を行うためのライブラリーを Raspberry Pi4 に入れる

~~~
>$ pip install pyserial

元記事を表示

例外処理で大元のエラー箇所をlogしたい時

# 結論
“`some.py
import sys
import traceback
from some_module import some_func

def some_some():
try:
some_process…
some_val = some_func() # エラーが起こる処理 -> さらに some_func()で呼んでいるsome_blah_func()でraiseしてるとする
except Exception as e:
t, v, tb = sys.exc_info()
print(traceback.format_tb(tb)[-1]) # <-大元のエラー箇所を出力する ``` すると出力はこんな感じ。 ``` some_container | File "/some_path/some_blah_module.py", line 30, in some_blah_func some_container | raise ``` # 解説 s

元記事を表示

購買回数の分布と負の二項分布の関係

# はじめに

購買回数/来店回数の分布は負の二項分布で表すことができるとよく言われます。
この事について、何故そうなるのかを書いていきたいと思います。

# 使用データ

[共立出版 – データ分析プロセス](https://www.kyoritsu-pub.co.jp/bookdetail/9784320123656)に付属しているデータTafeng.csvを使用します。

## データを見てみる

2000年11月のデータを使います。購買回数(来店回数)を出したいので、同じ日付かつ同じユーザーの重複を削除し、購買回数を出します。

“`python:python
df = pd.read_csv(‘Tafeng/Tafeng_dataset/Tafeng.csv’)
df[‘dt’] = df[‘Time’].str[:10]
df[‘month’] = df[‘Time’].str[:7]
# 2000-11のみ使用
df_target = df[df[‘month’] == ‘2000-11’]
# DB全体の人数
target_users = pd.DataFrame(

元記事を表示

python-docxでサムネイルを削除する

## 【問題点】アイコンまっしろやんけ!
F5でリロードしてみると、一瞬だけワードのアイコンが出る。
すぐに真っ白になるので、多分画像ファイルの縮小版表示と似たことが起きているっぽい
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447423/d82ee08a-5e43-0bb9-7593-cd8abe606de8.png)

## 【原因】問題はやっぱり「縮小版」(英語:Thumbnail)
「縮小版」、そんな機能があるのか…と、「Word 縮小版」とググったら見つかりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447423/13a76316-517a-e796-0e92-ddd67aea6cb6.png)

## 【解決策】以下のファイルを開いて再度保存
開くファイルはdefault.docx
これをテンプレートにして新たなWordファイルが作られてるっぽい。
![imag

元記事を表示

Pythonでesa.ioのAPIを触る

# はじめに
ドキュメント共有サービスであるesa.ioではAPIを公開していて、APIを通して記事やコメントの取得や作成、スターをつけたりけしたり等広くesa.ioの機能を利用できます。

今回は、pythonでesa.ioのAPIを触ってみましょう!

# インストール
pythonで作成されたesa APIのクライアントライブラリを利用して、APIにアクセスします。
ライブラリ: [piyo](https://github.com/argonism/piyo)

“` shell
pip install piyo
“`

# APIを叩いてみる

とりあえず、クライアントをnewします。
``と``は自分のアクセストークンとチーム名に置き換えてください。
Clientにアクセストークンを渡す代わりに、環境変数のESA_ACCESS_TOKENにアクセストークンをセットしても大丈夫です。

“` python3
from piyo import Client

def main():
client = Client(a

元記事を表示

Pythonプログラミング:urllib.requestを使ったtimeoutを指定したHTTPリクエスト発行

# はじめに

Tipsです。
Webサイトを対象に(Sleepを入れて負荷をかけないように)スクレイピングをしていました。
が、時折ハングアップしてしまう場面にも直面していました。

・・・はい、timeoutの設定が漏れてました。
そのため、応答があるまで待ち続けてしまっていました(≒ハングアップの状況)。

というわけで、HTTPリクエストを発行する処理を見直したいと思います。

## 本稿で紹介すること

– urllib.requestを使ったHTTPリクエストの発行

尚、筆者は以下のVersionで動作確認をしています。
– Python: 3.6.10

# サンプルコード

結論だけ、BeforeとAfterのCodeを紹介。

## Codeを紹介

端的に言えば、urlopen関数で、timeoutパラメータを指定するだけです。
以下、Code例です。
元のCode全体は、**[こちら](https://qiita.com/Blaster36/items/680000a7479e3a90857f)**を参照されたし。

“`python:Before
de

元記事を表示

Python始めました。(その2)

 前回の続きになります。
 [Python始めました。(その1)] (https://qiita.com/K-Ohgata/items/4a79f0e618590c3b5116)
 相変わらずコードばかりで読みづらいですが、ご容赦ください…。

# if文
 pythonはインデントでif文などの範囲(ブロック)を判別する。

“`python:sample.py
fruits = [‘apple’, ‘orange’, ‘grape’, ‘peach’]
if ‘apple’ in fruits:
print(‘apple is.’)
if ‘orange’ in fruits:
print(‘orange is too.’)
else:
print(‘apple is not.’)
print(‘I want to eat apple.’)

if fruits: # 値ある場合はTrueとして処理される
print(fruits[0])

color=’yellow’
if color==’red’:
prin

元記事を表示

python-docxで日本語用のフォントを設定する

## できること
「日本語用のフォント」を設定できるようになります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447423/4ddca1bb-4bdc-2bd9-d2de-64d1cf264a80.png)

## 利用法
“`Python3:real_usecase.py
# 東アジア言語用のフォント設定をします
paragraph.runs[0].font.name_eastasia = “MS ゴシック”
“`

## 設定
python-docxのファイルをいじって、東アジアの言語(いわゆるCJK Languageだと思われる)に対応させます。
私はminicondaを利用していますが、各自の環境に合わせていじるファイルの場所を特定してください

“`Python3:miconda3/envs//Lib/site-packages/docx/text/font.py/Font
# 以下の部分をnameのgetter/setterの後あたり

元記事を表示

画像ビューワー、ボタン操作、JSONで保存 #メモ

WSLで実行する場合は下記参照
https://dev.classmethod.jp/articles/wsl-x-window/

“`

# -*- coding: utf-8 -*-
import cv2
import glob
import json

target = “target/*.png”
print(“target:”+target)

data_BasePath = sorted(glob.glob(target))
print(“target:”+target)

data_BasePath = sorted(glob.glob(target))
print(“image Num:”+ str(len(data_BasePath)))

yesno_dict={}
# for idx_inter, data_BasePath_png in enumerate(data_BasePath):
idx_inter = 0
while True:
data_BasePath_png = data_BasePath[idx_inter]
# 入力画

元記事を表示

AnacondaのインストールからJupyterLabの起動まで【WIndows10】2021.10

## はじめに
機械学習/データサイエンスにおけるPython環境構築は、ライブラリの依存関係が強く、インストールに手間がかかり、非常に面倒です。
ここでは、お手軽に環境構築するために、科学計算のためのPythonおよびR言語のディストリビューションであるAnacondaのインストールと、JupyterLabの起動までを説明します。またAnaconda Navigatorを用いた仮想環境の作成方法について説明します。
※この記事では、Windows10を使っています。

## Anacondaのインストール
####1. Anacondaホームページから、Products>Individual Editionへ。
https://www.anaconda.com/

####2. Downloadをクリックしてインストーラーをダウンロードしてください。

元記事を表示

Raspberry piへのTensorFlowのインストール (モルカーを画像認識で判別したい!)

#本記事の内容
– Raspberry PiにpipでTensorFlow 1.14をインストールする (モルカーを画像認識で判別したい!)

画像認識の仕組みをラズベリーパイで実現しようとしています。
モルカーを画像認識で判別したいと思っています。出来たら可愛いなあと。

まずはTensorFlowをRaspberry piにインストールします。

尚、pipでインストールできるのは、1.14までの様です。
1系の最新版である、1.15.Xをpipでバージョン指定してインストールしようとしてもエラーになりました。
1.15をインストールしたい場合は、ソースからビルドする方法で自前でインストールする必要がありそうです。

#実施環境
– Windows 10
– TeraTarm Version 4.9.4
– Raspberry Pi 2 Model B
– PLANEX 無線LAN子機 GW-USNANO2A ※Raspberry Pi 2はWi-Fi通信モジュールがないため、無線LAN子機をUSBに接続しWi-Fi通信を行う。
– 家庭内の無線LANネットワーク環境にて実施

#

元記事を表示

OTHERカテゴリの最新記事