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

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

UbuntuにPython3.7インストール (without sudo)

管理者権限がない環境でPython3.7(+jupyter)をインストールするのに意外と苦労したので、自分用にメモを残しておきます.
OS: Ubuntu18.04LS
# その1
$HOME/local/python/にインストールすると仮定しています.makeのjオプションはCPUのコア数に応じて変えると良いです.
“`terminal
wget http://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
tar -zxvf Python-3.7.0.tar.gz
cd Python-3.7.0
mkdir ~/local/python
./configure –prefix=$HOME/local/python –enable-optimizations
make -j 10
make altinstall
“`
これだと
ModuleNotFoundError: No module named ‘_ctypes’
というエラーが出ました.どうやらlibffiというものが必要らしいです.

# その2
libffiをイン

元記事を表示

遊戯王カードを分析してみたかった。

# データセット作成
## 取得元
データセットを公式サイトのデータから作成。
ブルーアイズの場合
https://www.db.yugioh-card.com/yugiohdb/card_search.action?ope=2&cid=4007

## データセットの中身
cardid
カード名
ふりがな
CardName
属性
レベル
ペンデュラムスケール
ペンデュラム効果
種族
種類
攻撃力
守備力
効果
規制
最古リリース
最新リリース
収録回数
url

中身としてはこんな感じ、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/610285/b2c80155-c4a6-6846-4fda-d67354027a26.png)

モンスターも魔法もトラップも、全て同じ表に入力した。固有のものはNaNが入力されている。
魔法カードの場合は、攻撃力とかがNanと表示。

# カードの枚数確認
2022/3/10 時点のデータです。
## データ件数
“`python
len(d

元記事を表示

【パーフェクトPython】イメージ(pypng) packageを使用できるまでの手順

## 背景
第18章のマルチメディアトピックにおいて、pypng packageの活用を紹介していますが、事前にインストールが必要な項目があるので、それを整理していく。
なお、Python3.5以上でないとpypngは利用できない。

## 環境情報
PC : Macbook Pro – Apple M1 – macOS Montery
環境 : pyenv 2.2.4
Python : 3.8.12

## 手順
以下の手順を踏んで必要なファイルを作成していく。

“`
mkdir [フォルダ名]
cd [フォルダ名]
pip install pypng
# セットアップツールを作成するために、以下の2つのファイルを作成する。空ファイルでOK。ディレクトリは、同じところで問題ありません。

touch pyproject.toml
touch setup.cfg

# 以下のコマンドを実行して、build/UNKNOWN.egg-infoフォルダが作成される
pip install .

# png.pyファイルを作成して、pngをimportできるようにする。
curl -LO

元記事を表示

Python: シリアルコード的なランダム文字列を発行する

“`python
def make_serial_code(n: int = 16) -> str:
# I と O は 0,1と混同するので外す
randlst = [random.choice(“ABCDEFGHJKLMNPQRSTUVWXYZ0123456789”) for _ in range(n)]
return “”.join(randlst)

print(make_serial_code())

# 4E0G4XZLMFFSEB44
“`

元記事を表示

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

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

### 基本情報
環境 : Python3.10
PC : MacBook Pro
Editor : Visual Studio Code

### 警告内容
“`
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のインポートではまった。
pip install torch

を実行して

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**

元記事を表示

OTHERカテゴリの最新記事