Python関連のことを調べてみた2021年05月15日

Python関連のことを調べてみた2021年05月15日
目次

pythonでsha256

#概要

pythonでsha256やってみた。

#参考にしたページ。

https://qiita.com/elm200/items/298636764646de2ef254

#サンプルコード

“`
import copy
import struct
import sys

def hexdigest(m):
return Sha256(m).hexdigest()

class Sha256(object):
_k = (0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a

元記事を表示

Pythonでメール送信の時添付ファイルを複数添付して送る

#Pythonでメール送信の時添付ファイルを複数添付して送る
力技で解決

“`python
import os
import smtplib
import ssl
import sys
import glob
from email import encoders
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

# 第1引数が送り先、第2が添付したいファイルが入っているフォルダ
def sendmail(sendto, attach):
account = “XXX@co.jp”
password = “XXX”

# 送受信先
to_email = sendto
from_email = “from”

# MIMEの作成 -メール本文の内容
subject = “XXX”
message = “XXX\n”
msg

元記事を表示

pythonでgmlファイルの座標を取得

google maps APIを使って地図上にポリゴンを表示したい。
そこで、gmlファイル?というものをダウンロードして、その中に記載されている23区のポリゴンの座標を取得することになった。

最近仕事で使っているし、ウェブ以外のこともやっていきたいと思っているので、pythonを使ってみた。

自分が思っている以上にかなりのデータ量でびっくりだった。以下取得方法を記載。

“`python:parse.py
import re
f = open(‘h27_did_13.gml’, ‘r’,encoding=”utf-8″)
#第一引数にファイル名、第二引数にモード(rは読み込み用に開くという意味)、第三引数に文字コード
data = f.read() #ファイルを読み込む
pattern = r’(.+?)
#正規表現でに囲まれたデータを取得
data = re.findall(pattern,data) #findallにすることでに囲まれたデータ全て取得
#現在のデータ

元記事を表示

#2 PowerApps アプリ で撮影した画像を FaceAPI で感情分析してみました

## 概要
PowerApps のカメラで撮影した画像を API Management 経由で FaceAPI に転送し、その画像の分析結果「感情、性別、年齢」を PoweApps に表示するアプリの実装手順を数回に分け記載しています。また、並行して、その分析結果を CosmosDB に保存しておき、PowerApps からの累積情報取得リクエストにより累積クエリ結果「感情分布、性別分布」を PowerApps に返し、円グラフ表示する機能の実装手順も複数回に分け記載します。なお、PowerApp の画面作成については省略し、APIコール部分とその戻り値の部分に焦点をあてて記載しています。
本アプリの全体構成は下図となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/9cf0815f-00e1-6395-6e5e-4975cbcdd6ad.png)

今回(第2回目)の構成箇所は下図の部分となります。
![image.png](https://qiita-image

元記事を表示

爆速PayPay API入門

## 関連

– python SDK [https://github.com/paypay/paypayopa-sdk-python](https://github.com/paypay/paypayopa-sdk-python)
– 公式API [https://www.paypay.ne.jp/opa/doc/jp/v1.0/account_link.html](https://www.paypay.ne.jp/opa/doc/jp/v1.0/account_link.html)

## PayPayの登録方法

PayPay for Developersに新規登録をする。
下のURLから新しく開発用のアカウントを作成します。
[PayPay for Developers](https://developer.paypay.ne.jp/account/signup)

## サンプルコードを動かす上で必要な情報

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

元記事を表示

cloud9でpip installしようとしたらエラーが起こる

## これ何
cloud9でpaypayopaをインストールしたら、エラーが出たので、対応方針をまとめる

エラ〜メッセージは次の通り、エラーを見る限り権限がないので、うまくインストールができていないみたい

“`shell
ec2-user:~/environment $ pip install paypayopa
Collecting paypayopa
Using cached https://files.pythonhosted.org/packages/cf/8c/1c8b24904179d4332fb9dcc074e49d0ee4dfde4cef670a88e61757d71ec7/paypayopa-1.0.4-py3-none-any.whl
Collecting pyjwt (from paypayopa)
Downloading https://files.pythonhosted.org/packages/3f/32/d5d3cab27fee7f6b22d7cd7507547ae45d52e26030fa77d1f83d0526c6e5/PyJWT-2

元記事を表示

ワーシャルフロイド法の覚え書き(自分用)

#pythonのプログラム
“`
for k in range(V): #中間点kを生成
for i in range(V): #始点iを生成
for j in range(V): #終点jを生成
if cost[i][k]!=INF and cost[k][j]!=INF:
cost[i][j] = min(cost[i][j], cost[i][k] + cost[k][j])
“`

#考え方
①中間点はn回選ばれる
②始点はn^2回選ばれる
③終点はn^3回選ばれる

1⇨10⇨3⇨6⇨8⇨4⇨7⇨9⇨5⇨2が正解ルートの場合。

「中間点10、始点1、終点2(1⇨2)」がチェックされるまでに、
「3⇨6⇨8⇨4⇨7⇨9⇨5⇨2」が結ばれているはずである。
なぜなら、「2〜9が中間点」である場合は全てが選ばれており、「中間点2〜9で結ばれているパターン」は全てが結ばれているはずだから。
すると、「中間点10、始点1、終点2(1⇨2)」が選ばれる時には、「1⇨10⇨2」が提示される。

元記事を表示

Pythonで支離滅裂な文章を作成する

# Pythonで支離滅裂な文章を作成する
支離滅裂な文章が突然必要になった時に大活躍

環境
Bug sur 11.2.3
Python 3.8.3
googletrans 4.0.0rc1

コードのダウンロードは[こちら](https://github.com/riya81/Python_incoherent)

##やり方
`googletrans`をimportして
おまじないを唱えて

“`python
translator = Translator()
“`

これで準備完了

あとは下記のコードで翻訳できる

“`python
translator.translate(“翻訳する文章”, src=”翻訳元の文字コード”, dest=”翻訳後の文字コード”).text
“`
例 日本語 > 英語

“`python
from googletrans import Translator
translator = Translator()
IN = translator.translate(“こんにちは”, src=”ja”, dest=”en”).text
pri

元記事を表示

PythonでTorを使用する

## はじめに
スクレイピングの勉強として、pythonを使ってあるサイトから情報を抜き出すコーディングを試していたところ、急にレスポンスが遅くなったり、アクセスを拒否されたりしたことがあった。
テザリングでインターネットに接続したら元に戻ったので、同じIPから何度もリクエストが来ている事が理由と理解したのだが、その時色々と調べて`Tor`という接続経路の匿名化を実現するソフトウェアを知ったので、試しにそれもどんな感じなのか使ってみた。今回の記事では、その時の構築内容や確認内容をメモとして残す。

## 実行環境

– Ubuntu 20.04LTS(GCP上)
– Tor version 0.4.2.7.
– Python 3.8.5

## メモ内容 

“`shell:
$ sudo apt update
$ sudo apt upgrade -y
“`

#### `tor` のインストール
“`shell:
$ sudo apt install tor
$ tor –version
Tor version 0.4.2.7.
“`

#### `tor`の

元記事を表示

素敵なデータ構造:ヒープ by Python

#データ構造の説明
ヒープとは、
・二分木を用いるデータ構造で、
・木の深さh-1以下の部分については完全二分木を形成し、
・各頂点と親頂点との間に親頂点≧子頂点の関係が成立し、
・値xの検索には適さないですが、最大値の取得が得意
なようです。

“`Python:heap.py
class Heap():
heap = []

# 値の追加
# 一番最後の葉に追加したのち、「自分の親と比較して逆転していれば入れ替える」を繰り返す
def push(self, x):
self.heap.append(x)
i = len(self.heap)-1
while i > 0:
p = (i-1)//2
if self.heap[p] >= x:
break
self.heap[i] = self.heap[p]
i = p
self.heap[i]

元記事を表示

pythonでインスタンス情報を調べるためのtips

機械学習でクラスを調べるときに頻繁に使いそうだったのでメモ。

### インスタンスが持つインスタンス変数の一覧を取得する

“`
# .__dict__属性を取得
class hoge:
def __init__(self,x,y):
self.x = x
self.y = y

ins_sample = hoge(30,20)

from pprint import pprint
# モジュール、クラス、インスタンス、あるいはそれ以外の dict 属性を持つオブジェクトの、 dict 属性を返す
pprint(vars(ins_sample),width=100)
# {‘x’: 30, ‘y’: 20}
# そのオブジェクトの有効な属性のリストを返そうと試みる
pprint(ins_sample.__dict__)
# {‘x’: 30, ‘y’: 20}
“`

### ex.PCA(主成分分析)においてインスタンスが持つインスタンス変数を調べる
“`
from sklearn.decomposition import PCA

元記事を表示

【Python】手軽に始めたい方へ:Google Colaboratoryの始め方

#はじめに
 Pythonを始めたいけれど設定の仕方がわからない方でも気軽に始めれる『Google Colaboratory』の始め方・簡単な使い方について紹介します。
 Google ColaboratoryはWindows/Mac関係なく、インターネットにアクセスできる環境であれば利用できます。

[1. Google Colaboratoryって?](#1-Google Colaboratoryって?)
[2. 始め方](#2-始め方)
[3. ノートブックの操作](#3-ノートブックの操作)
[4. ファイルのアップロードの仕方](#4-ファイルのアップロードの仕方)
[5. ファイルのダウンロードの仕方](#5-ファイルのダウンロードの仕方)
[6. アップロードしたファイルをPythonで開く](#6-アップロードしたファイルをPythonで開く)
[7. おわりに](#7-おわりに)

#1. Google Colaboratoryって?
 Googleが提供する誰でもブラウザ上でPythonを記述・実行できる無料のサービスです。機械学習、データ分析、教育でPythonを

元記事を表示

Python インタラクティブ モードのプロンプトに色づけ (ついでに cmd.exe, PowerShell, Bash のプロンプトにも言及)

# 動機といきさつ

CLI のプロンプトは色がついていたほうが見やすいし、それだけで使うのがちょっと楽しくなる感じがします。

Windows のコマンド プロンプトならば

“`dosbatch
%SystemRoot%\System32\cmd.exe /f:on /k prompt $e[36m$p$g$e[0m
“`

というショートカットをつくるとか…。

PowerShell ならば `$PROFILE.CurrentUserAllHosts` ファイルに

“`powershell
function prompt {
#”PS $($executionContext.SessionState.Path.CurrentLocation)$(‘>’ * ($nestedPromptLevel + 1)) “;
$principal = [Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()
$foregroundColor

元記事を表示

Matplotlibで可変数ラインのリアルタイムグラフを描写する

#たくさんのセンサー出力値リアルタイムグラフ化したい
例えば、ジャイロのX,Y,Z 加速度計のX,Y,Z などを同時表示したいと思い
matplotlibをいじっていたのですが、決められたライン数のみしか表示するサンプルしか見つからず、試行錯誤しながら可変数ラインを表示できるリアルタイムグラフ表示を自分で作ってみました。

###使用環境
windows , winpython, numpy, matplotlib

###実行結果
![graph.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506495/d6213b36-7b2c-db39-57a7-0ecf823f54ec.png)
Sin, Cos, Tan計算結果をグラフ表示とは別のスレッドで入力しています。
実際に動作させれば、リアルタイムに動作します
サンプルでは3ラインだけですが、理論的に無限にグラフを増やせるはずです。

###苦労したこと
Pythonのタプルをちゃんと理解していなかったので、とても時間がかかった。
(今でもちゃんと

元記事を表示

BaseNEncodersのbase=って何を表しているのだろうと考えたらとてもシンプルだった件について

# はじめに
Category Encodingに関して代表的なものを学習していたのですが、どうもライブラリの使い方がわからず調べるのに時間を費やしたのでまとめたいと思います。

ここからのコードはすべて[以下の記事](https://www.takapy.work/entry/2019/12/10/085810)の内容を利用していますので、そちらを簡単に読んでから読み進めていただくと分かりやすいかもしれません。

Category Encodingについてとてもまとまっていますのでお勧めです。

# BaseNEncodersについて

こちらの記事のコードを引用しています。
`BaseNはbaseオプションに指定する値によって、One-Hot / Binary / Ordinal Encodingを使い分けることができます。`とあるがどのように指定すればどのエンコーディングが使えるのかよくわからず、今回の記事を書くことになりました。

ちなみに[公式ドキュメント](https://c

元記事を表示

【Python+MeCab】マルコフ連鎖と形態素解析を使って本田圭佑っぽいTwitterつぶやきを自動生成してみた話

#はじめに
以前、TwitterでBotを作ってアフィリエイターとして活動していた頃は、
文章は全部、自分で編集なんかしてて、めちゃくちゃ時間かけてたけど、

`2021/5/13`に初めて、
**形態素解析とマルコフ連鎖を使えば、自動で文章が生成できる**ことを知り、感動したので、
実践してみました。

ちなみに、前の会社でインターンをやっていた大学生の子が、
自分のTwitterアカウントのつぶやきを解析させて、
自動生成したつぶやきをBot化していたので、
まずは「自分もエンジニアになったからには、そのスタートラインに立とう!!」
と思い立った次第であります。

####※最初、座学多めです。下の方にコードあります。?‍♂️

#形態素解析とは
難しい漢字が並んでてゲシュタルト崩壊したわっww
と言いたいところですが、
>形態素解析(けいたいそかいせき、Morphological Analysis)とは、文法的な情報の注記の無い自然言語のテキストデータ(文)から、対象言語の文法や、辞書と呼ばれる単語の品詞等の情報にもとづき、形態素(Morpheme, おおまかにいえば、言語で意味

元記事を表示

【2021年版】Binance自動売買システムを作ろう。

どうも、TAKUと申します。

2021年になり、2018年時点とはかなり状況が変わってきていますね。

新型コロナウイルスの影響や、ビットコインの価格が再び爆上げするなど、
様々な変化が起こっている年でもあります。

このような状況ですが、
Binanceは健在で、以前よりもさらに使いやすくなり、
様々ある仮想通貨取引所の中でも
日々改良を続けている良取引所の1つだと思います。

今日は以前のBinance自動トレードシステムをもっとかみ砕いて
機能を単純にして、
手軽に自動売買システムを作る事が出来るような
記事を書いてみたいいと思います。

それでは、参りましょう!

まずは、システムの構築手順

プログラムを書く前に、
トレードの手順を考えてみたいと思います。

文章で書くとなかなか伝わりづらいと思いますので、
フローチャートで作ったものを貼り付けます。

元記事を表示

トニカクカワイイで星空くんが作ってたシューティングゲーム作ってみた

# はじめに
畑先生の作品[トニカクカワイイ](https://amzn.to/3w6p3VK)の4巻P88にて,星空君が古いPCを使って縦スクロールシューティングゲーム(LOVE IMPORTANT)を作っててかっこいいーってなり,

ターミナルのみで動くゲームってどうやって動くんだろーって思って調べながら作ってみました.

![](https://github.com/yuhi-sa/invader/blob/main/img/demo.gif?raw=true)

# 作りたいもの
– ターミナルのみで動く
– 上から降ってくる敵を打つシューティングゲーム

漫画内で星空くんはCOBOLで作ってましたが,ちょっとCOBOLを新しく学ぶのはしんどかったのでpythonで代用.

# 設定
星歴4098年,
銀河統一を目指すデビルギャラクシー軍の
最終兵器として開発された主人公ダークシャリバーンが
敵の母星にとらわれている姫を救出する物語
らしい,,,

# 構成
## 攻撃の仕組み
敵(Enemy),味方(Bullet)ともにN行M列のMapを持ち,
敵の存在は-2,味方の砲弾は+

元記事を表示

AtCoder Problems Hard No.91~100解説

#Hard No.91 : D – Coloring Edges on Tree
[D – Coloring Edges on Tree](https://atcoder.jp/contests/abc146/tasks/abc146_d)
##発想
使用する色の数$K$はグラフの中で1つの頂点を端点とする辺の数の最大値になります。1つの頂点に接続している辺を順番に1,2,3…と色分けしていけば良いです。

##実装
幅優先探索をしていきます。

“`python
from collections import deque

N = int(input())
G = []
for _ in range(N):
G.append([])
for i in range(N-1):
a, b = map(int, input().split())
a -= 1
b -= 1
G[a].append((b, i))
G[b].append((a, i))

k = 0
for i in range(len(G)):
k = max(

元記事を表示

#1 PowerApps アプリ で撮影した画像を FaceAPI で感情分析してみました

## 概要
PowerApps のカメラで撮影した画像を API Management 経由で FaceAPI に転送し、その画像の分析結果「感情、性別、年齢」を PoweApps に表示するアプリの実装手順を数回に分け記載しています。また、並行して、その分析結果を CosmosDB に保存しておき、PowerApps からの累積情報取得リクエストにより累積クエリ結果「感情分布、性別分布」を PowerApps に返し、円グラフ表示する機能の実装手順も複数回に分け記載します。なお、PowerApp の画面作成については省略し、APIコール部分とその戻り値の部分に焦点をあてて記載しています。
本アプリの実行結果は下図となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/6c934acb-c8f3-ca2a-d989-a26a15625947.png)

この時の全体構成は下図のようになります。
![image.png](https://qiita-image-stor

元記事を表示

OTHERカテゴリの最新記事