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

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

【パーフェクトPython】12章・asyncioの項目でエラーが警告への対処法

パーフェクトPythonの12章・asyncioの項目でエラーが警告が発生

### 基本情報
環境 : Python3.10
PC : MacBook Pro

### 警告内容
“`
DeprecationWarning: There is no current event loop
loop = asyncio.get_event_loop()
“`

Python3.10では、get_event_loop()を呼ぶと警告を発生する模様。
get_event_loop()ではなく、get_running_loopが推奨されている。

【参照】
– https://github.com/pytest-dev/pytest-asyncio/issues/212
– https://docs.python.org/3.10/library/asyncio-eventloop.html#asyncio.get_event_loop

パーフェクトPythonは、Python Version3.8ベースなので、少しばかり相違点があり、意外なエラーが出るので、注意が必要ですね。

元記事を表示

Python アノテーションとは?

# 概要
1: アノテーションとは?
2: 使い方

## 1: アノテーションとは?

アノテーションとは、関数の戻り値の型(Decimal, string, int など)が何で返ってくるか示した注釈のようなもの。
使用することで、コーディングした人がどの型を想定してコーディングしたかを読み手に示すことができる。

※前提:pythonでは、型を指定することは不要

## 2: 使い方

* 通常の関数
“`
def function (arg1, arg2, ..) :
・・・・
“`

* アノテーション使用した関数
“`
def function (arg1, arg2, ..) -> “戻り値の型名”:
・・・・
“`

例)
“`
def calc (number_1, number_2) -> int:
return number_1 + number_2
“`

元記事を表示

連番画像を動画にするためのプログラム

# 連番画像を動画にするためのプログラム

自分のPCではシーケンサーからの出力をaviとして得るとなんかきもかったので,連番画像として出力したのち,いい感じのものだったら動画に変換した.
実行例は,

“`
$ python3 conv.py d1 1800
“`

自分の場合シーンごとにシーケンサと名前を変えていたのでこんな感じに
入力としてほしい画像の名前は,imgファイルにある`ren_d1.0001.jpg`….`ren_d1.1799.jpg`のような感じ
出力される動画は`movies_aft`フォルダ内に`ren_d1.mp4`のように保存される
お好みで変えてもらえればいいと思います

“`
├ conv.py
├ img/
│ ├ ren_d1.0001.jpg
│ │ ・
│ │ ・
│ │ ・
│ └ ren_d1.1799.jpg
└ movies_aft/
└ ren_d1.mp4 →これが作られる
“`

“`conv.py
import cv2
import numpy as np
import ti

元記事を表示

splitlines() 使用してみた

# 概要
1: splitlines() とは?
2: 使い方

※ 文字列の除去に関して使用する機会があったので、備忘録として記載
( 正規表現やスライスを使いこなせるようになると、もっと表現の幅が広がりそうなので少しづつ学んでいきたい。)

# 検証環境
OS:18.04.5 LTS
Python:3.6.9

## 1: splitlines() とは?

splitlines()は、文字列を改行コードで分割したい時に利用します。
splitlines()を使うことで改行コードで分割されリストに格納されて戻ってきます。

## 2:splitlines() 使い方

* 文字列内に空白が入っていた場合、除去する。

“`python
# splitlines()を使用

word = “リトルグリーンメン\nだっふぃ~\nドナルド\nミッキー”
word = word.splitlines()
print(word)

# 結果
[‘リトルグリーンメン’, ‘だっふぃ~’, ‘ドナルド’, ‘ミッキー’]
“`

元記事を表示

xlwingsでExcelのセルの書式設定の表示形式の分類を文字列に変更したい

PythonでExcelを操作もしくはExcelからPythonを呼び出すときにxlwingsさんを使っています。

https://www.xlwings.org/

xlwingsでセルの書式設定の分類を変更したい!ってなりました。

# 例

右クリックで出てくる
![2022-03-09_13h06_50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/217361/95b83352-86d4-35c2-7751-5de56df7b1ad.png)

ここのこれです

![2022-03-09_13h07_41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/217361/49c19836-270c-8783-c50d-02fe9c465cd8.png)

よくあるのが住所データが入ったCSVをExcelにインポートした時に、番地だけが入っていると○月○日となってしまうやつです。

![2022-03-09

元記事を表示

python3 thread

“`python
import time
import threading

def proc():
for i in range(0,5):
time.sleep(1)
print(“count”, i)

if __name__ == ‘__main__’:
th1 = threading.Thread(target=proc)
th2 = threading.Thread(target=proc)
th1.start()
th2.start()
“`

https://corgi-lab.com/programming/python/python3-multi-thread/

元記事を表示

OpenCVでレシート画像のロゴを探す(Template Matching)

# 目的
– ファミマのレシートを探したい
– OpenCVの理解
– なんか画像処理っぽいことしたい

OpenCVにTemplate Matching機能があると聞き、どんなもんだろうと思いお試ししてみました

# 環境
– Windows11 Home
– VSCode
– Python3.9
– pip
opencv-python 4.5.5.62
numpy 1.22.1

# 本編
## 参考文献
ありがとうございます。お世話になりました

https://dev.classmethod.jp/articles/search-images-in-an-image-with-opencv-python/

https://pystyle.info/opencv-template-matching/

https://www.mathpython.com/ja/opencv-image-size/

## プログラム
### 元の画像
いろいろなレシートを混ぜて取りました。
大きさの違うロゴを左上に貼り付けて、これも探せるといいな。

![20220308_

元記事を表示

初心者がimport torchではまった件

# 機械学習プログラミング初心者がPyTorchのインポートではまった。

import torch

のコードを実行すると

NameError: name ‘_C’ is not defined

というエラーが出た。
調べてみるとCythonのインストールが必要らしい。

pip install Cython

をターミナルで実行した後もう一度コードを実行してみると。

いけた。

【参照】
https://github.com/pytorch/pytorch/issues/1633

元記事を表示

Python 基本構文メモ

忘れそうな構文を記載します。
## 参照サイト
[タプルとリストの違い、タプルの使いどころ](https://www.lifewithpython.com/2017/12/python-tuple-list-difference.html)

## 変数文字列展開
“`python
text = “ピザ”
print(f”今日は{text}を食べました”)
“`
“`:結果
今日はピザを食べました
“`

## 基本のfor文
“`python
magics = [‘alice’, ‘mike’, ‘konbu’]
for magic in magics:
print(magic)
“`
“`:結果
alice
mike
konbu
“`
## for文のリストに関数
“`python
for value in range(1, 3):
print(value)
“`
“`:結果
1
2
“`
# for文での配列一括追加
“`python
squares = [value**2 for value in range(1, 11)]
print

元記事を表示

【Pythonコード公開】留守でも安心!異常検知システムを自作してみた(後編)【機械学習】

この記事は、「留守でも安心!異常検知システムを自作してみた」の**後編**です。
留守中の侵入者を検知する異常検知システムを作っていきます。
**まだ前編を読んでない方は先に[前編](https://qiita.com/umapyoi/items/eba3842aeab19b62f3a6)をご覧ください。**

https://qiita.com/umapyoi/items/eba3842aeab19b62f3a6

**作成した異常検知システムのGUI:**
![Umapyoi異常検知アプリイメージ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/bc7be765-2174-48b2-7ced-495737ab3f7e.png)

# システム作成手順(後編)
後編では、異常検知モデルの作成とGUIアプリを作成します。

## 異常検知モデルの作成
異常検知モデルの作成は、コーディング無しで簡単に異常検知モデルを作成できるプラットフォーム「[ADFI](https://adfi.jp/

元記事を表示

【Pythonコード公開】留守でも安心!異常検知システムを自作してみた(前編)【機械学習】

来週、久しぶりの出張で家を留守にする予定なので、我が家の防犯が心配!
そこで、侵入者を検知する異常検知システムを作ってみました&Pythonコードも公開します!
侵入者検知以外にも、**「駐車場の空き状況の検知」「立ち入り禁止区域の監視」などの用途にも使える** (かもしれない)システムです。

**作成した異常検知システムのGUI:**
![Umapyoi異常検知アプリイメージ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/416d7e01-57ca-1635-5511-63736ced84cb.png)

# 異常検知システム概要
玄関(靴箱の上)に設置したカメラ映像を監視し、異常(侵入者など)があったら、自動で検知してメールで通知してくれるシステムです!
留守中にメールが来るかドキドキですね!

カメラ映像が正常か異常か判定するのは、異常検知モデルです。
人がいない状態の画像を学習データとして利用することで、人影や身体の一部が映った場合に異常と判定する異常検知モデルを作成すること

元記事を表示

ロジックサマナー ランクC「ログの結合」を解いた

# はじめに
ロジックサマナーの問題をまた解きました。
少し AtCoder の問題解いたんですが、時間制限内に解けなくて悔しかったです。(B問題で終わりました…)

今回も正答したソースコードを下に載せます。

# 問題の概要
[問題のリンクです。](https://paiza.jp/logic_summoner/challenges/logics_skill_4004)

“`
入力:
8
0 thequickbr
0 ownfoxjump
0 soverthela
0 zydog
1 jackdawslo
1 vemybigsph
1 inxofquart
1 z
出力:
0 thequickbrownfoxjumpsoverthelazydog
1 jackdawslovemybigsphinxofquartz
“`
問題の概要を要約すると、入力されるのがチャットのログです。
左がチャットのIDで、右がチャットの内容として、同じIDであれば末字に結合して出力する。
といった感じです。

# 正答したソースコード
“`python3
# 入力
n = int(inp

元記事を表示

【Python】opencvで複数のWebカメラを識別して使用したい

## はじめに
OpenCVからVideoデバイスにアクセスする場合、デバイスIDを指定する方法しかありません。

“`py
DEVICE_ID = 1
cap = cv2.VideoCapture (DEVICE_ID)
“`

しかしVideoデバイスが複数接続された場合、このデバイスIDはいつも同じとは限らないため、不都合が起きたりします。例えばある物体を1つのカメラは上から、もう1つのカメラで横から撮影し、各々のカメラで得られたフレーム画像に別々の画像処理を施したいときに困ります。 今回は、複数接続時に、安定して同じデバイスにアクセスすることを目指します。

## 対象者
この記事は下記のような人を対象にしています。

– 複数のWebカメラを使用する機会のある方
– マジックナンバー嫌いな方

## 環境
– Windows10
– Python3.7

## 結論
CV-camera-finderをお借りすることで、linuxのlsusbコマンドのようなことを実現できます。linuxの方はこちらをご参照ください。助けになると思います。

https://dev.cla

元記事を表示

【python】wiktionaryから語義情報を抽出する

# 概要
wiktionaryから単語とその語義(に相当していそうな記述)を抽出しました。
具体的にはwiktionaryのマークアップ記述から語義に相当すると期待される数字箇条書きの領域を、その箇条書きが属する見出しの文字列とセットで取得しました。

“`
word head2 head3 meaning_id meaning
青 [[漢字]] 意義 0 #[[グリーン]]。[[みどり]]。[[あお]]。[[くさき|草木]]の[[は|葉]]のよう…
青 {{ja}} {{noun}} 0 #(複合語で)(あお)色の一つ、[[グリーン]]。[[くさき|草木]]の[[は|葉]]のような色。
青 {{zh}} {{adjective}} 0 #{{おくりがな2|青|あお|い|あおい}}。[[緑]]の。[[グリーン]]の。
青 {{zh}} {{adjective}} 1 #{{おくりがな2|黒|くろ|い|くろい}}。
青 {{zh}} {{name}} 0 #(現代)[[w:青海省|青海省]]の略称。
“`

なお、本記事では、箇条書き部分の抽出までを扱います。実際にアプリケーショ

元記事を表示

超初心者がAtcoder ProblemsのC問題を141回から150回までをpythonで解いてみた【記憶喪失した時用】

解き方を忘れないためにまとめてるだけなのでコードはめちゃくちゃ不細工です、ここもっと良くできるよって場所あったら教えていただけるとありがたいです!!

Attack Survival

https://atcoder.jp/contests/abc141/tasks/abc141_c

“`python:practice.py
n,k,q = map(int, input().split())
points = [k]*n
for i in range(q):
win = int(input())-1
points[win] += 1
for point in points:
if point-q > 0:
print(“Yes”)
else:
print(“No”)
“`

最初に正解者のポイントに1を追加し、後から全ての参加者から問題数と同じ数を引けば、問題で指示されてい

元記事を表示

【AtCoder解説】PythonでABC242のA,B,C,D,E問題を制する!

**ABC242**の**A,B,C,D,E問題**を、**Python3**でなるべく丁寧に解説していきます。

ただ解けるだけの方法ではなく、次の3つのポイントを満たす解法を解説することを目指しています。

– シンプル:余計なことを考えずに済む
– 実装が楽:ミスやバグが減ってうれしい
– 時間がかからない:パフォが上がって、後の問題に残せる時間が増える

ご質問・ご指摘は**コメント**か**ツイッター**、**マシュマロ**、Discordサーバーまでお気軽にどうぞ!

**Twitter: [u2dayo](https://twitter.com/u2dayo)**
**マシュマロ: https://marshmallow-qa.com/u2dayo**
**ほしいものリスト: https://www.amazon.jp/hz/wishlist/ls/2T9IQ8IK9ID19?ref_=wl_share**
**Discordサーバー(質問や記事の感想・リクエストなどどうぞ!) : https://discord.gg/jZ8pkPRRMT**
よかったら**LGTM**

元記事を表示

raspberryPIでopenCVをインストール

前提条件 


このページにたどり着く前にopenCVのインストールにチャレンジしていますか?

`pi@raspberrypi:~ $ pip3 list` を実行した際に、
`opencv`を含む文字を見つけた方は、以下のコマンドから削除してください。

“`delete.terminal
pi@raspberrypi:~ $ pip3 list
olefile 0.46
opencv-python 4.5.5.28 <-(1)opencvを含む文字列を下記コマンドに記入 opencv-contrib-python 4.5.16 <-(2)opencvを含む文字列を下記コマンドに記入 pantilthat 0.0.72 parso 0.8.1 (1)の場合。(2)の場合はopencvのあとに文字を追加してください。 pi@raspberrypi:~ $ sudo pip3 uninstall opencv-python ``` :::note info テキストエディタで「opencv」を検

元記事を表示

python基礎

# print(文字を出力する方法)

“`csharp:php
print(‘Hellow World’);
“`
# #(コメント)

“`csharp:php
#コメントアウト
“`
# 変数の定義
+ PHPのように、$などはいらない。
+ 変数名の付け方は、`user_name`のように、単語2文字以上のときは、アンダーバーで繋げる。

“`csharp:php
name = ‘Naoki’;
name = 12;
“`
+ 変数の中の値を取り出すときは↓
+ クオテーションをつけると、文字列として認識されてしまうので、クオテーションはつけない。

“`csharp:php
print(name); //Naoki
“`
# 変数の更新

“`csharp:php
x = x + 10//x + = 10と同じ 、x % = 10など
“`
# 文字列の連結

+ +記号は、文字列の連結もすることができる。
+ PHPの場合は、’Hello’.’World’→ドットで繋げていた。

“`csharp:php
print(‘Hello’ + ‘World’

元記事を表示

Python windowsのcmd、powershellでctrl cでスレッド、プロセスが止まらない時の対処法

# 結論

メインスレッド以外をデーモン化する

# スレッドのデーモン化とは

デーモンスレッドは他の非デーモンスレッドが終了と同時に強制的に終了するスレッドのこと

また、子スレッドは親スレッドのデーモンの値を継承する
つまり、デーモンスレッドによって開かれた子スレッドは引き続きデーモンスレッド

# やり方

以下、極端な例。デーモンスレッド、非デーモンスレッドの順にスレッドを実行させればよい

“`python
import threading
from multiprocessing import Process
import time

def task(num: int):
while True:
time.sleep(1)
print(f’task{num}’)

def main():
“””ctrl c を受け取るためのスレッド”””
while True:
try:
# スリープ入れないとcpuコアがフル稼働するので注意
time.slee

元記事を表示

40 代おっさんPythonを使って自分あてに指定したLINEを送る

## 本記事ついて

本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

## 参考資料

## 目標

LINE Notifyを使い、Webスクレイピングを行って、明日の天気予報を自分のLINEに送る。

## 環境

以前はCloud9を使用していましたが、今回はExcelのため変えることにしました
Windows 10
Jupyter Notebook
そのため構文に少し違いがあります。
気を付けてください

## LINE Notify

LINE Notifyとは
LINEと外部のWebサービスやアプリを連携し、ユーザーがカスタマイズされた好みの情報を受け取ることができる機能

### アクセストークン発行

自分が書くより説明がしっかりなされていたのでこちらを参照してください

<

元記事を表示

OTHERカテゴリの最新記事