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

Python3関連のことを調べてみた
目次

Python3: GATT をスキャン

## Ubuntu 24.04 にライブラリーをインストール

“`bash
sudo apt install python3-bleak
“`

## バージョンの確認

“`text
$ python
Python 3.12.3 (main, Sep 11 2024, 14:17:37) [GCC 13.2.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> from importlib.metadata import version
>>> bleak_version = version(“bleak”)
>>> print(bleak_version)
0.21.1
“`

## プログラム

“`py:ble_scan.py
#! /usr/bin/python

import asyncio
from bleak import BleakScanner

async def run():
devices = await BleakSca

元記事を表示

ロボット開発プラットフォームのまとめ集(ROSなど)

## はじめに〜なぜこの記事を書こうと思ったか〜

今までロボット制御の開発プラットフォームというとROS、ROS2くらいしか知らなかったが、ROSだけでもROS#やIsaac Simなどフレームワーク・ミドルウェアは増えてきた。
備忘のため、この記事にまとめる。

1.ROS
一番有名な印象。各種モジュールはC++で基本書かれていて、Pythonで全体制御できる。

2.ROS2
ROSの後継プラットフォーム。ROS2での開発コンペなど出てきているので、本格的にROS(ROS1)からの移行が進んでいるようだ。
今後勉強する際は、ROS2をメインで勉強したい。
・[ROS2 Foxy公式ドキュメント]( https://docs.ros.org/en/foxy/index.html )

3.Isaac SDK:
・NVIDIAが開発したロボティクス開発プラットフォーム
・C++とPythonのAPIを提供
・UnityプラグインでIsaacSimとの連携が可能
・AIと深層学習の統合に強み
・https://developer.nvidia.c

元記事を表示

PyTorchに入門しよう① Tensorの使い方

## はじめに
今更になってAIの勉強を始めたいと思ったため、PyTorchのチュートリアルを読んで学習をしました。
この記事では、PyTorchのチュートリアルの内容を日本語に翻訳して、一部情報を追記しながらまとめていきます。

私の実行環境は下記のとおりです。
`Debian 13`
`Python 3.11.9`
`PyTorch 2.4.1`

## Tensorとは
Tensorとは、配列や行列によく似たPyTorch独自のデータ構造です。
PyTorchではモデルへの入力や出力、パラメータの調整にこれを使います。
Tensorの利点として以下が挙げられます。
– GPUやハードウェアアクセラレータ上に配置可能
– 学習に必要な自動微分に最適化されている

## Tensorの生成方法
必要なライブラリのインポート
“`Python
import torch
import numpy as np
“`

### データから直接生成する
tensor()を使うことで、リストや数値から直接Tensorを生成することができます。
“`Python
data = [[1,2

元記事を表示

BigQueryを使用してCSVデータを集計する

### はじめに
pandasで生徒の点数のデータフレームを作成しCSVファイルへ変換を行いGCSへアップロードします。
その後BigQueryからGCSのCSVファイルを読み込み平均点を算出してみます。

### GCSへCSVファイルのアップロード
sampleデータを作成し、CSVファイルをGCSにアップロードします。
まず、GCSへ接続するために必要なPythonライブラリをインストールします。
“`py
pip3 install google-cloud-storage
“`
pandasで生徒のテストの点数を作成します。
“`py
import pandas as pd

# サンプルデータの作成
data = {
‘Student’: [‘Alice’, ‘Bob’, ‘Charlie’, ‘David’, ‘Eva’],
‘Math’: [88, 92, 75, 90, 85],
‘Science’: [95, 85, 80, 70, 90],
‘English’: [78, 89, 85, 95, 92]
}
# データをData

元記事を表示

プログラミング初心者のQAエンジニアがExcelからテスト実行するプログラムを作ってみた

## どのくらいプログラミング初心者か
– 就活時代:Javaを少し勉強する
– QA(1~2.5年目):ブラックボックステスト中心でコードなんてわからない
– QA(2.5~3年目):テスト自動化とかもあるし、そろそろ勉強するか
– Progate、Udemy、友人からpythonのもろもろを教わる
– 基礎知識できたし、ちょっと何か作ってみる

## 今回のプログラムについて
今回の目標は「勉強の応用編としてプログラムを作成する」を目標としたため、GUI形式/ローコードのテスト実行プログラムではない。
手動で以下の対応が必要となる。
– Excelファイルの作成
– 作成ファイルの該当行にxpathや実行してほしい内容を記載
– コマンドプロンプトでpy [ファイル名].pyを実行

また、以下の基礎的な操作が実行できるだけである。
– ボタンなどの押下
– テキストボックスなどへの入力
– 文章の比較
## 環境情報
### OS
– Windows11

### 言語
– Python3

### ライブラリ
– Selenium
– openpyxl

##

元記事を表示

DockerのUbuntuコンテナにPython3をインストール

前回からの続き
ubuntuのdockerコンテナを準備したのはいいけど
Pythonって入ってんの?

“`
# python3
bash: python3: command not found
“`

うん入ってないね

インストールしましょう

その前にapt-getをupdateしましょう

“`
# apt-get update
“`

終わったらPythonをインストールしましょう

“`
# apt-get install -y python3 python3-pip
“`

インストールされてるか確認

“`
# python3
Python 3.12.3 (main, Sep 11 2024, 14:17:37) [GCC 13.2.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>>
“`

よし、終わり😊

元記事を表示

BIKE SHARING DEMAND データ分析

Aidemy様の専門実践教育訓練講座を受講、これの最終成果物として記事作成。
Kaggleの上位2.9%という結果。
講座修了の合否に使用される記事は順序立て・考察等で冗長な為、詳細な考察を少々省いたものを作成。
この記事を見ると同じ分析ができて、且つなぜその分析を行うかという理由も理解できるように情報量は残した(つまり、依然膨大な記事)。
目次から気になる点へ飛んでいただけると良いと思う。

講座修了用の「冗長なバージョン」はこちら:

https://qiita.com/SumMae/items/f0f221735f94c06c609e

# 目次
– [**はじめに~記事概略まとめ**](#はじめに記事概略まとめ)
– [**分析環境**](#分析環境)
– [**テーマについて**](#テーマについて)
– [Bike Sharing Demand 概略](#bike-sharing-demand-概略)
– [分析用データ](#分析用データ)
– [評価指標](#評価指標)
– [目標値設定]

元記事を表示

FastAPIで簡単なリアルタイムチャットの仕組みを作る

## はじめに
はいどうも、たねだです。
相変わらずPythonの勉強をしています。

さて、今回はFastAPIを使って最小限の機能を備えたリアルタイムチャットの仕組みを作りました。
引き続きQiitaに掲載していくかどうかはさておき、今後さらに内容をアップデートしていきたいと思った仕組みになったので
ちょっとしたプロトタイプとして記事に残そうと思います。
ただ、実際に中身を作ったのは少し前のことなので忘れているところもあるかもしれませんがあしからず。

また、いつも通り今回の内容も公開リポジトリを置いてますので、
よかったらこちらもご覧いただければと思います。

https://github.com/t4ned4/realtime-chat-system/tree/main

## さっそく作っていく

今回も`Python3.12.4`でつくっていきます。
私の記憶が正しければ、特別に構築したような環境はなかったと思います。

特に今回はほぼ最小単位でつくりますのでディレクトリ構成も下記の通り非常にコンパクトです。
![image.png](https://qiita-image

元記事を表示

【Python】venvを利用した仮想環境

# はじめに

最近現職の同期と勉強がてらアプリ制作を始めました。
そこで初めてPythonを触って仮想環境なるものを知りました。
今回はvenvを利用した仮想環境の作成方法について備忘録として残します。

# 環境
– macOS: 15.0(24A335)
– Python: 3.12.5 (グローバル)
– Visual Studio Code : 1.93.0 (Universal)

# Pythonの仮想環境とは?

自身のPC上で、独立したPythonの実行環境を作成する仕組み。
下記のようなメリットがあるようです。

> (1)環境ごとに異なるバージョンのPythonを使える
> (2)環境ごとに異なる外部ライブラリをインストールできる
> (3)環境ごとに異なるバージョンの外部ライブラリをインストールできる

引用元: [実務で必須の「Python仮想環境」について学ぼう!](https://www.insource.co.jp/python-gakuin/mail-backnumber/vol30.html)

# 仮想環境の作成と利用方法
仮想環境を作成する方法は

元記事を表示

お酒の画像をCNNに学習させてみる

## はじめに
[前回の記事](https://qiita.com/cnysntry/items/448d592c8d317de1b9f6)で少ない画像データを平行移動や回転などを行い増やす手段について記載しました。今回はその増やしたお酒の画像データをCNNに学習させ、ディープラーニングでどこまで正確に判断できるかについて試してみました。

## お酒画像を学習させる
まずは、以下の8種類のお酒画像を各10枚ずつ準備し、[前回の記事](https://qiita.com/cnysntry/items/448d592c8d317de1b9f6)の方法を使ってデータ拡張してCNNで学習させてみました。

lagavulin
bowmore
caolila
kilchoman
bunnahabhain
bruichladdich
ardbeg
laphroaig

その結果は以下の通りとなりました。
![isla_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3750854/864111d9-6e0b-

元記事を表示

【備忘録】Python×Seleniumでデータ収集を自動化

# はじめに
Pythonの「requests」と「bs4(beautifulsoup)」を使って、ウェブサイトからデータをスクレイピングしようとしましたが、そのサイトは動的にデータを表示するタイプだったため、思うようにデータを取得することができませんでした。

そこで、「Selenium」を試したところ、うまくスクレイピングができましたので、備忘録として「Python × Selenium」を使ったスクレイピングの方法をまとめておきたいと思います。

# 想定する読者
* Python × Seleniumでデータ収集を自動化したい方

# Seleniumとは?
Seleniumは、ウェブブラウザを自動で操作するためのオープンソースのテスト自動化ツールです。ウェブアプリケーションの機能テストやスクレイピング、ブラウザ操作の自動化に使用されます。

Seleniumは、開発者やテスターが実際にブラウザを使って行う操作をプログラムでシミュレートすることができます。

**主な特徴**
1. ブラウザ自動操作
* Seleniumを使用すると、ブラウザで行う操作(ページの読み込

元記事を表示

Output練習のためProjectEulerを解いてみる #1

本日から、コーディング力の向上とアウトプットする力を高めるために、毎週一問ProjectEulerの問題を解いてみようと思います。いろいろ至らない点もあると思いますが、ご容赦いただければと思います。
# ProjectEulerとは
数学の問題をプログラムを用いて解くサイトです。最初の100問までは答えを掲載してもよいという規則があるので、そこまで記事を書くことを目指していこうと思います。

#### マイルール
– 拡張性を持たせる
 条件として、N <= 1000000 とかがあるのですが、その条件を厳しくしても成り立つようなコードを書いていこうと思います
– 一つのコードで完結させる
 前処理とかが必要な問題でも、なるたけ一つのコードで完結させるようなコードを書きたいと思います。
– 読みやすいコードを書く
基本的には、コーディング規約とリーダブルコードに従ったコードを書いていきます。

では早速解いていこうと思います。
# #1 Multiples of 3 or 5
問題文 If we list all the natural numbers below 10 that ar

元記事を表示

【Python】unicodedata.normalize(‘NFKC’)について。互換分解してから再度合成するとは?

# 概要
Pythonの`unicodedata.normalize`の`NFKC`を使ってみたので、サンプルコードと共に紹介します。

# Unicodeの正規化のNFKCとは?

`unicodedata.normalize`は、そのまま「Unicodeの正規化」という意味です。
[Wikipedia](https://ja.wikipedia.org/wiki/Unicode%E6%AD%A3%E8%A6%8F%E5%8C%96)は以下のように説明されています。

> Unicode正規化(ユニコードせいきか、英語: Unicode normalization)とは、等価な文字や文字の並びを統一的な内部表現に変換することでテキストの比較を容易にする、テキスト正規化処理の一種である。

Pythonで使う`unicodedata`モジュールとは、Unicode文字列を正規化するためのライブラリ(関数)です。

また、`NKFC`について、[公式ドキュメント]()には以下のように記載がありました。

> 正規形 KC (NFKC) は、互換分解を適用してから、標準分解を適用します。

元記事を表示

フラクトゥーア(フラクトゥール,亀甲文字,ブラックレター)を26アルファベットに変換するPythonコード(Pythonista 3対応)

# はじめの前のおねがい
できれば「いいね♡」をお願いします。励みになります。

# はじめに
このコードは**Python 3**と**Pythonista 3**に対応しています。本コードはクリップボード内にある通常のアルファベット(ä, ö, üなどには未対応)をUnicodeに用意されているフラクトゥア(亀甲文字,ブラックレター)に変換するコードです。

# 本コードを実行するとどうなるか
本コードは
1. クリップボード内のある通常のアルファベットを検知
1. Unicodeに用意されているフラクトゥア(亀甲文字,ブラックレター)に変換
1. クリップボードに再コピー

を行います。

# 例
実行前のクリップボード:
𝔚𝔢𝔩𝔠𝔬𝔪𝔢 𝔱𝔬 𝔱𝔥𝔢 𝔈𝔫𝔤𝔩𝔦𝔰𝔥-𝔩𝔞𝔫𝔤𝔲𝔞𝔤𝔢 𝔚𝔦𝔨𝔱𝔦𝔬𝔫𝔞𝔯𝔶, 𝔞 𝔠𝔬𝔩𝔩𝔞𝔟𝔬𝔯𝔞𝔱𝔦𝔳𝔢 𝔭𝔯𝔬𝔧𝔢𝔠𝔱 𝔱𝔬 𝔭𝔯𝔬𝔡𝔲𝔠𝔢 𝔞 𝔣𝔯𝔢𝔢-𝔠𝔬𝔫𝔱𝔢𝔫𝔱 𝔪𝔲𝔩𝔱𝔦𝔩𝔦𝔫𝔤𝔲𝔞𝔩 𝔡𝔦𝔠𝔱𝔦𝔬𝔫𝔞𝔯𝔶. ℑ𝔱 𝔞𝔦𝔪𝔰 𝔱𝔬 𝔡𝔢𝔰𝔠𝔯𝔦𝔟𝔢 𝔞𝔩𝔩 𝔴𝔬𝔯𝔡𝔰 𝔬𝔣 𝔞𝔩𝔩 𝔩𝔞𝔫𝔤𝔲𝔞𝔤𝔢𝔰 𝔲𝔰𝔦𝔫𝔤 𝔡𝔢𝔣𝔦𝔫𝔦𝔱𝔦𝔬

元記事を表示

26アルファベットをフラクトゥーア(フラクトゥール,亀甲文字,ブラックレター)に変換するPythonコード(Pythonista 3対応)

# はじめの前のおねがい
できれば「いいね♡」をお願いします。励みになります。

# はじめに
このコードは**Python 3**と**Pythonista 3**に対応しています。本コードはクリップボード内にある通常のアルファベット(ä, ö, üなどには未対応)をUnicodeに用意されているフラクトゥア(亀甲文字,ブラックレター)に変換するコードです。

# 本コードを実行するとどうなるか
本コードは
1. クリップボード内のある通常のアルファベットを検知
1. Unicodeに用意されているフラクトゥア(亀甲文字,ブラックレター)に変換
1. クリップボードに再コピー

を行います。

# 例
実行前のクリップボード:
Welcome to the English-language Wiktionary, a collaborative project to produce a free-content multilingual dictionary. It aims to describe all words of all languages using definitio

元記事を表示

Pythonで『The MagPi』の全号を一括ダウンロードするスクリプト

「The MagPi」は、Raspberry Piに関する情報を提供するマガジンです。チュートリアル、プロジェクトのアイデア、最新情報などを掲載し、コーディングやロボティクス、DIYエレクトロニクスに興味のある人々にとって役立つ内容が満載です。

The MagPi” のPDFは公式サイトで無料でダウンロードできます。最新号からバックナンバーまで、Raspberry Piに関する様々な記事やプロジェクトが掲載されています。公式サイトを訪れて、直接ダウンロードしてください。

Link: https://magpi.raspberrypi.com/issues

“`python:download_magpi_all_issues.py
# 『The MagPi』雑誌の全号を一括ダウンロードするPythonスクリプト
import webbrowser
from time import sleep as wait

# 1から145までの範囲でループを実行
for i in range(1, 146):
# 号のダウンロードURLを生成
url = f”https://

元記事を表示

スマートリモコンをChatGPT(Function Calling)を使ってよりスマートにしよう!

# スマートリモコンをよりスマートに!?
 声から操作ができてしまうスマートリモコンですが、文脈から意図を認識するというところまでではないようです。そこで、今回はChatGPTのFunction Callingと呼ばれる機能を使って、人の意図をくみ取って、家電を操作してくれる装置を作ってみたいと思います。
 実際の処理の流れとしては、以下になります。
1. プロンプトをChatGPTのAPIへ渡し、GPTにどの家電をどのように操作するのか判断してもらう(今回)
2. ChatGPTの判断結果から、ラズパイが赤外線で家電を操作

 今回はプロンプトを入力して、特定のスクリプトをたたくところまでのポイントとなった部分を紹介します。実際のコードは、GitHubにあげています。(https://github.com/arumi123/homebridge/tree/develop)

また、結果だけ見たいという方は、実際に呼び出してみよう!まで進んでください。

# Function Callingとは
 人が入力した文字列(プロンプト)から、ChatGptが意図を読み取り必要な関数やAPIを

元記事を表示

EC2 amazon linux にPythonを入れてみよう 入門

AWS EC2 インスタンスに Python をインストールする方法について説明します。以下の手順に従ってください。

### Amazon Linux 2 の場合

1. **パッケージリストの更新**:
“`bash
sudo yum update -y
“`

2. **Python 3 のインストール**:
“`bash
sudo yum install python3 -y
“`

### Ubuntu の場合

1. **パッケージリストの更新**:
“`bash
sudo apt update
“`

2. **Python 3 のインストール**:
“`bash
sudo apt install python3 -y
“`

3. **pip のインストール**:
“`bash
sudo apt install python3-pip -y
“`

### Python と pip のバージョン確認

インストールが完了したら、以下のコマンドでバージョンを確認で

元記事を表示

obsws-pythonのテキスト編集で沼った話

## obsws-pythonとは
obsws-pythonとは、OBS StudioのWeb Socketを使って
プログラムから色々なOBS上の操作ができるライブラリです。

https://pypi.org/project/obsws-python/1.1.0/

…と言っても[当該ライブラリのGitHub](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md)を見てもいまいちわからなかった上に日本語の情報がかなり少なかったので非常に沼りました。
本記事では数ある機能の中でも主に**テキストソースの編集**にフォーカスして、私が確認できた内容を残そうと思います。

`obsws-python`は以下でインストール可能です。
“`bash
pip install obsws-python
“`

:::note info
結果だけ知りたい方はGitHubに概要とコードサンプルを載せているので[こちら](https://github.com/t4ned4/obsws-

元記事を表示

[備忘録]Xで指定したテキストを含むハッシュタグ付き等の投稿を検索・取得する

# 細々した話

## Basicプランの課金タイミングについての注意

1ヶ月100ドルと書いてあったが、登録したらそこで「1ヶ月分」課金されるわけではなかった(2024年9月時点での報告)。

* 最初に1週間分課金された(日割り)。
* 1週間後に1ヶ月分課金された。

クレジットカードの締日と相談して経理系の手続きを行う場合は注意。

## 事前設定

APPを作ること。

必要な認証系の情報は、 「Apps」の個別アプリの「Keys and tokens」リンク(鍵マーク)で行けるページから作成・取得できる。
* API Key and Secret (Consumer Keysの下)
* Bearer Token(Authentication Tokensの下)
* Access Token and Secret (Authentication Tokensの下)

※ User authentication settingsはデータ取得のみなら設定不要かと思われる。

## Searchの注意点(Basicプラン)

https://developer.x.com/

元記事を表示

OTHERカテゴリの最新記事