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

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

tkinterでJPEG画像の表示する際に生じたエラーについて

# はじめに
Pythonでtkinterを用いてJPEG画像の表示を試みた際、下記2つのエラーに遭遇した。
自分と同じようなエラーに遭遇した初学者向けに、内容と対処方法についてメモしておく。

# ①TclError:couldn’t open .png: no such file or directory
### 内容
同じフォルダ内に画像が格納されていない時に起こるエラー。ファイルや画像を格納したフォルダを指定してプログラムを実行しないと、同様なエラーが生じる。

### 対処
①ファイルと画像が同じフォルダに格納されているか確認する。
②格納したフォルダを指定してプログラムを実行しているか確認する。

# TclError:couldn’t recognize data in image file
### 内容
「tkinter」では標準でJPEGファイルを表示できないため、画像データを読み取ってもらえず生じたエラー。下記のような記述でJPEG画像の表示を試みるとエラーが生じる。
“`NG_CASE_JPEG.py
import tkinter

root = tkinte

元記事を表示

一歩先行くDIY!PythonとArduinoで作るカスタムLEDコントロールシステム

## はじめに

この記事では、Pythonを使用してArduinoのGPIOピンから出力を行う方法をわかりやすく説明します。

## やりたいこと

目指すのは、PythonでGUIボタンをクリックすることでArduinoボードにトリガー信号を送り、特定のピンからHighレベル(5Vまたは3.3V)の信号を出力させることです。この信号はLEDを用いて視覚的に確認します。PythonはPC上で実行し、ArduinoはUSBケーブルを通じてPCに接続されます。

## 必要なもの

1. Arduinoボード (例:Arduino Uno)
1. LED と抵抗
1. USBケーブル (ArduinoをPCに接続)
1. Arduino IDE (Arduinoプログラムを書くため)
1. Python (Pythonスクリプトを実行するため)
1. PySerialライブラリ (Pythonからシリアル通信を行うため)

## Arduino スケッチの準備
Arduino IDEを開き、新しいスケッチを作成します。

1. トリガーを受け取り、指定されたピンをHIGHに設定するコード

元記事を表示

alembicで外部キーを追加するときはCONSTRAINT 名を明示した方がいい

普通に `alembic revision –autogenerate -m “add_os_version_id”` でマイグレーションスクリプトを自動生成すると、 `op.create_foreign_key` `op.drop_constraint` の第一引数(CONSTRAINT名)が `None` となってしまう。

このスクリプトは `alembic downgrade base` 時に削除すべきCONSTERAINT名がわからずエラーになってしまう。

“`python
“””add_os_version_id

Revision ID: 6479768cd289
Revises: ecd9896cb55a
Create Date: 2024-01-25 11:40:11.027316

“””
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import mysql

# revision identifiers, used by Alembic.
revision =

元記事を表示

Python YouTube クリッププログラム

# YouTubeの、クリッププログラム
目次から、本分または、学習法を検索し、
あれば、時間をクリップ、
無ければ、60sで、クリップするという、
プログラムを作りました。^^
ChatGPTに、レービューを依頼したのですが。。
高度すぎて、よくわかりませんでしたので、^^;
かなり冗長ですが、
ひとまず、動いたものを、
アップします。^^
よろしくお願いします。

“`python
# Run
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome(‘C:\

元記事を表示

【UiPath】Automation CloudのData ServiceにOpenAPIライブラリを使ってPythonからアクセスする

## この記事の内容は?
本稿ではUiPath Automation CloudのData ServiceにPythonのOpenAPIライブラリ(openapi-python-client)を使ってアクセスする方法をご紹介します。

OpenAPIとはWeb APIの仕様を記述するための標準規格です。

https://en.wikipedia.org/wiki/Open_API

Data Serviceはこの規格に準じているため、Data Serviceが提供するAPIの仕様を元にクライアントライブラリを自動的に生成することができます。

Data ServiceのAPIに関するガイドは次のものです。

https://docs.uipath.com/ja/data-service/automation-cloud/latest/user-guide/api-access

この記事ではPythonのライブラリであるopenapi-python-clientを使用し、Data Serviceのクライアントライブラリを自動生成し、それを使った操作の例を記載します。

https:

元記事を表示

Mojo For Windows(WSL)を使ってみた

### 背景
Pythonの約35000倍速いという噂のMojoについて以前から話題になっていたけど、アカウント申請したまま、ずっと動かせずにいた。Qiitaで使ってみた記事があったため、自分の試したくなったので、その結果を載せる。
なお、以下の記事はMac対象にしているので、筆者はWindowsを対象にしている。

https://qiita.com/mohki7/items/c511274aeb7fe23d3737

### 目的
Mojoを使える状態にし、Hello Worldまで試す。

### 対象者
– 先端技術に興味がある人
– Pythonの基礎を理解している
– 計算、処理速度に興味がある人

### 環境
– Windows11
– WSLインストール済
– VSCODEインストール済

### Mojoの初期設定

VSCODEを起動し、WSLターミナルを起動する
“`terminal
curl https://get.modular.com | sh – && \
modular auth <認証トークン>
“`
![image.png](https://q

元記事を表示

PycaretだけでSignateのメダルは取れるのか

# はじめに
Pycaretの 冬のコードに 雪解け水

こんにちは、「Pycaret」という語句を用いてChatGPTに俳句を作ってもらいました。

>Pycaretの: 「Pycaret」というのは、データサイエンスと機械学習のためのPythonライブラリです。この言葉を使うことで、俳句に現代的なテクノロジーの要素を取り入れています。

>冬のコードに: 「コード」という言葉は二重の意味を持っています。一つは文字通りのプログラミングコード(Pycaretを使う際のコード)を指し、もう一つは「冬の寒さや厳しさ」を暗示しています。つまり、Pycaretを使用している冬の情景が想起されます。

>雪解け水: 冬の終わりに雪が溶けて水に変わる様子を表しています。これは季節の変わり目、特に冬から春への移り変わりを象徴しています。

>総合すると、この俳句は、冬の寒さの中でPycaretを使用している情景を描きつつ、季節の変化、具体的には雪が溶けて春が近づいていることを表現しています。技術と自然の季節の変わり目が融合している独特なイメージです。

素晴らしいですね。才能あり、特待生に昇格です。

元記事を表示

Python:資格を取る意味について

本日は Python の資格を取る意味について, 書いてみます (o'(ェ)’)🍙

## 【経緯】

 ぼくが, 独学で Python の勉強を始めたときは, まだ 「 Python 3 エンジニア認定基礎試験」 のみで, かつ, 教材もあまりなく, 特に, 問題集は, ぜんぜんない時代でした 📕

Python試験(Python資格)

 今では 「情報」 という科目が, 高校等において 「必須」 に成りましたが (2025年度の共通テストから必須科目に), ぼくの時代は, 国語, 数学, 理科, 社会, 英語, な時代です。「情報の知識」 も, 全くないまま Python の入門書を読んだせいか, 基本的な意味すら, 理解できません。特に 「動的」 とか 「型付け」 とか, さらには, 合わさって 「動的型付け」 とか・・・。

 どうしても, 理解したいと思い, 最初は, 入門書や本格的な本(MIT等)を, 10冊くらい買って読んでみましたが, やはり, 理解できず・・・高い本を買っては, 3ページくらい読んで, そっと

元記事を表示

[Python] キー入力を監視してアクティブWindowを切り替える(pynput)

# はじめに

並行して作業していると、Windowの切り替えのためにクリックするかAlt+Tabを押すのも面倒になってきます。
そこで、キーを押したら指定したWindowに切り替えるプログラムを作成してみました。
Pythonで作成しましたが、Windows APIを使っているので若干C++の解説も入っています。

## 要件

– マウスのみで操作できるマウスアプリ
– キーボードで操作する必要のあるキーボードアプリ

があるとします。
キーボードアプリは、キーを押すと結果が出るのに数秒の待ち時間が発生します。

特別な仕組みが無いと以下のような作業手順になります。

1. キーボードアプリにキーを送信して結果を待つ。
2. その待ち時間の間にマウスアプリをクリックして進める。
3. キーボードアプリの結果が出る。
4. 結果が出たら、キーボードアプリをクリックするか、Alt+Tabで切り替える。
5. キーボードアプリにキーを送信して結果を待つ。
6. 以下、繰り返し

これから、手順4を減らすための仕組みを作ってみました。

## 環境

“`:OS
Windows 11 P

元記事を表示

Google ColabでWebスクレイピングをする

# 1.背景
普段の業務で特定のWebサイトから情報収集をしたい時がありますよね。
また、そのWebサイトにページネーションが施されていたり、
データが大量に存在していると、手作業で整理することは骨が折れます。。。
そんな時にはWebスクレイピングによって、情報を収集するのがGoodです。

Google ColaboでPythonを動かして、サクッとWebスクレイピングをしてみましょう!

### 補足1.Webスクレイピングとは?
Webスクレイピングは、ウェブサイトからデータを収集を自動化するための技術です。
ウェブページのHTMLなどのコンテンツを解析し必要な情報を抽出します。
一般的には、下記の3つの手順で進行します。

1.HTTPリクエストによるウェブページの取得
2.取得したHTMLからのデータ抽出
3.データの加工と保存

*Webスクレイピング行う際には、法的/倫理的に問題ない範囲で実施するように注意してください。具体的にはサイトの利用規約やWebサイトのrobots.txtを事前によく確認することをおすすめいたします。

### 補足2.Google Cola

元記事を表示

【Django備忘録】Django+jQueryでプログレスバーを表示しながらファイルをアップロードする

# はじめに
Django備忘録シリーズ 第2弾です。以前の記事は以下をご参照ください。
1. [【Django備忘録】django-environを使って機密情報を別ファイルで管理する](https://qiita.com/sho-gun/items/3c6db701fe326bee5ca4)

今回は、Django+jQueryで、プログレスバーを表示しながらファイルをアップロードする方法について書いていきます。
Djangoで作成したWebページにおいて、任意のファイルをPOSTする際にアップロード進捗をページに表示し、アップロード完了後は別のページに遷移するようなものを想定しています。

![スクリーンショット 2024-01-24 23.02.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3617690/bec35237-08a5-5765-d4a5-880ddf7aba50.png)

本記事は、Djangoアプリの基本的な実装方法は既に知っていることを前提としています。

ここで紹介

元記事を表示

散布図においてプロットの色で密度を表す方法(Python / matplotlib / カーネル密度推定)

# 結論
こんな感じで、散布図の各プロットにおいて密度を色で表現する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3655949/d961da6e-5d9a-39f4-a7f1-b37820a6b2b5.png)

※実行環境:Google Colaboratory

**コード全体のみ見たい場合**
* [scipy.statsでの実装例(乱数)](#実装1)
* [scipy.statsでの実装例(データセット)](#実装2)
* [sklearnでの実装例](#方法2sklearnを使う方法)
* [Rでの実装例](#おまけrで実装する方法)

# 【方法1】scipy.statsを使う

### 乱数での実装例
まずはライブラリーのインポートと乱数の生成。
“`python
from scipy.stats import gaussian_kde
import numpy as np

# 乱数の生成
x1 = np.random.normal(20, 2, 1000)

元記事を表示

オンライン会議の相手をアバターにする

リアルタイム顔認識による全員アバター化計画の始まり

# 何を作ったか
画面上に表示されるウィンドウをキャプチャし、その顔を検出して画像ファイルに置き換えるPythonのプログラム「Avatarian(アバタリアン)」です。

![IMG_1989.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254192/ed481dc1-5b3e-e8c4-6b42-5fdc5653abe4.jpeg)

# この記事の内容
コードはface_recognitionのライブラリの使い方がわかればシンプルなので、使う人が苦労しそうな環境構築を中心に記載しています。
多くの人にこの Avatarian(アバタリアン)を使ってもらいたいです。

# Avatarianを作った動機

世の中オンライン会議が当たり前になったが、コロナ前のように顔を合わせたコミュニケーションが大事という雰囲気が高まりつつあり、オンライン会議で顔を出すことが求められるようになって来ているのではないだろうか。
Teams、Zoomなどのオンライ

元記事を表示

discord.pyでYouTubeの動画をボイスチャットで再生する(Replit)

# はじめに

この記事では、discord.pyの`FFmpegPCMAudio`を利用してYouTube動画をボイスチャットで再生するために必要な手順について解説します。

([前回の記事](https://qiita.com/vex12853/items/9fc0331d062fcdcd6e45)の応用内容です。)

## この記事の対象者

– discord.pyでYouTubeの動画をボイスチャットで再生したい
– [前回の記事](https://qiita.com/vex12853/items/9fc0331d062fcdcd6e45)の応用をしたい

## 前提知識

– [Replitでdiscord.pyのFFmpegPCMAudioを使う](https://qiita.com/vex12853/items/9fc0331d062fcdcd6e45) の内容(discord.pyで音声を再生する方法)

# 手順

[前回の記事](https://qiita.com/vex12853/items/9fc0331d062fcdcd6e45)と同じ作業が必要なのでここで

元記事を表示

柴犬がビーチに!画像合成のマスタークラス

## はじめに

この記事では、柴犬の写真とビーチの写真を組み合わせて、柴犬がビーチにいるかのような新しい画像を作成するプロセスをご紹介します。この合成プロセスには、マスク処理を利用します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/2f16c578-2804-6ac3-cf3e-408bf929e8ae.png)

## 合成プロセス

### 1. マスク画像の作成

まず、柴犬の写真からマスク画像を生成します。このマスクは、柴犬の形を表すもので、他の画像との合成時に重要な役割を果たします。マスクの作成方法の詳細は、以下の参考記事をご覧ください。

https://qiita.com/kotai2003/items/2cddf1b3e17c728439b0

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/5af36396-f8cb-e538-f9ad

元記事を表示

Python 3 エンジニア認定基礎試験対策10 – 標準ライブラリミニツアー

# はじめに
Python3エンジニア認定基礎試験の対策として自分用に執筆しています。

:::note warn
この記事はPython・執筆学びたての初心者が執筆しています。間違いがあるかもしれませんので、ぜひ各項目にある**参考文献**も確認してください。また、誤りがあればコメントで教えていただけると幸いです。
:::

# 標準ライブラリミニツアー

## OSへのインターフェース

`os`モジュールはOSと対話するための関数を提供する

“`Python
>>> import os
>>> os.getcwd()
C:\\Python39
>>> os.chdir(‘/server/accesslogs’)
>>> os.system(‘mkdir today’)
0
“`
ファイルやディレクトリの管理作業のために使えるモジュール `shutil`

“`Python
>>> import shutil
>>> shutil.copyfile(‘data.db’, ‘archive.db’)
archive.db
>>> shutil.move(‘/build/exe

元記事を表示

Pyodideは今どれくらいできるのか

## Pyodide
Pyodideは、CPythonをWebAssembly/Emscriptenに移植したものです。ブラウザ向けのPythonランタイムとも言えます。

[2019年にMozillaが発表](https://hacks.mozilla.org/2019/04/pyodide-bringing-the-scientific-python-stack-to-the-browser/)し、[2021年に独立したプロジェクトになりました](https://hacks.mozilla.org/2021/04/pyodide-spin-out-and-0-17-release/)。

https://pyodide.org/en/stable/

### 発音
– https://github.com/pyodide/pyodide/discussions/1954
– https://www.youtube.com/watch?v=iUqVgykaF-k

以上を参考にカタカナにすると「パイアダイド」?

### Pyodideを使う目的
RustやGoなどソースコードをコン

元記事を表示

【Stable Diffusion WebUI】エラー「failed assertion `commit command buffer with uncommitted encoder’」の原因

## エラー概要
以前まで普通にStable Diffusion WebUIを使えていたのに、なぜかとある日以下のエラーになった。無事に解決できたので共有します。

“`
To create a public link, set `share=True` in `launch()`.
Startup time: 14.1s (launcher: 0.7s, import torch: 5.8s, import gradio: 1.6s, setup paths: 2.0s, other imports: 3.3s, load scripts: 0.3s, create ui: 0.2s).
Creating model from config: /Users/xxx/xxxx/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/configs/stable-diffusion/v2-inference-v.yaml
LatentDiffusion: Running in v-prediction mode

元記事を表示

Python 3 エンジニア認定基礎試験対策9 – クラス

# はじめに
Python3エンジニア認定基礎試験の対策として自分用に執筆しています。

:::note warn
この記事はPython・執筆学びたての初心者が執筆しています。間違いがあるかもしれませんので、ぜひ各項目にある**参考文献**も確認してください。また、誤りがあればコメントで教えていただけると幸いです。
:::

# クラス

データと機能を組み合わせる方法を提供する。
新しいオブジェクトの型を作成し、その型を持つ新しいインスタンスを作れる。

## 名前とオブジェクト

同一のオブジェクトに複数の名前を割り当てることができる。別名付けとも。オブジェクトの受け渡しは、実装上はポインタが渡されるだけなのでコストの低い操作。

## Pythonのスコープと名前空間

名前空間とは、名前からオブジェクトへの対応付けのこと。例として、

– `abs()`などの関数や組込み例外名
– モジュール内のグローバルな名前
– 関数を呼び出した時のローカルな名前

異なった名前空間にある名前の間には全く関係がない。つまり、モジュールAとモジュールBで同じ名前であるmaximize

元記事を表示

【Python】hatchでPyPIの二要素認証を解決する

# `hatch`とは

[hatch](https://github.com/pypa/hatch)はPythonのプロジェクトマネージャーです。プロジェクト管理用の便利なコマンドが揃っているという長所と、検索すると`matplotlib`の引数の`hatch=`が引っ掛かってしまうという短所があります。
日本語の記事では[こちら](https://zenn.dev/mnagaa/articles/3a02ebc0431f36)など参考になります。

# PyPIの二要素認証

PyPIアカウントを二要素認証にしないとダメになりました。

https://blog.pypi.org/posts/2023-05-25-securing-pypi-with-2fa/

それ自体はいいんですが、トークンを`hatch`に教える必要があります。でないと`hatch publish`が使えなくなります (403エラーが出る)。

# どうすればよいか

以下のコマンドを叩きます。

“`bash
$ hatch publish –user __token__
“`

すると

“`
C

元記事を表示

OTHERカテゴリの最新記事