Python関連のことを調べてみた2020年06月22日

Python関連のことを調べてみた2020年06月22日

Pythonの仮想環境で開発を行う方法【メモ】

Pythonでの開発ルールを検討している際にPythonの仮想環境を構築することができる方法を知ったので自分用のメモに残します。
Pythonの仮想環境とはインストールしたモジュールやパッケージ、バージョンごとに分離された環境のことです。私は今までローカルだったり、仮想マシン上で開発を行ってきましたが、これを使えば仮想マシンを使わずともまっさらなPython環境を用意することができるようです。
venvというソフトウェアを使用してPythonの仮想環境を構築します。

#仮想環境の作成
まずはじめに仮想環境を作成します。下記のコマンドをターミナル上で実行することで簡単に仮想環境を作ることができます。このコマンドを実行すると実行したディレクトリの下に’環境の名前’というディレクトリが作成され、そこが仮想環境となります。
ただしディレクトリに入るだけでは機能せず、activate(有効化)が必要となります。

“`shell:Terminal
Uesr$ python3 -m venv ‘環境の名前’
“`

#仮想環境の有効化
実際にディレクトリに移動し下記コマンドを入力するこ

元記事を表示

個人的に忘れがちなpandasの書き方備忘録

### 作業用にSampleのDataFrameを作成
“`python
df = pd.util.testing.makeMixedDataFrame()
df
“`

| | A | B | C | D |
|–:|–:|–:|–:|–:|
| 0 | 0.0 | 0.0 | foo1 | 2009-01-01 |
| 1 | 1.0 | 1.0 | foo2 | 2009-01-02 |
| 2 | 2.0 | 0.0 | foo3 | 2009-01-05 |
| 3 | 3.0 | 1.0 | foo4 | 2009-01-06 |
| 4 | 4.0 | 0.0 | foo5 | 2009-01-07 |

### pandasの表示オプションの変更
“`python
pd.set_option(‘max_rows’, 2)
pd.set_option(‘max_columns’, 3)
df
“`
| | A | … | D |
|:–|–:|–:|–:|
| 0 | 0.0 | … | 2009-01-01 |
| … |

元記事を表示

TEST

TEST

元記事を表示

Pythonのビルトイン関数たち

# まえおき

– この記事は執筆中の[やさしくはじめるPythonプログラミング](https://github.com/simon-ritchie/python-novice-book-preview)の本の特定の章の部分抜粋です。
– 入門本なので初心者の方向けです。
– ビルトイン関数の章の内容が主になります。
– Qiita記事にマッチしていない箇所(「章」や「ページ」といった単語が使っていたり、改行数が余分だったり、リンクが対応していない等)があるという点はご留意ください。気になる方は↑のリンクの電子書籍版をご利用ください。
– コメントなどでフィードバックいただいた場合、書籍側にも活用・反映させていただく場合があります。

# 最初から使える関数たち : Pythonのビルトイン関数

本章ではPythonのよく使われるビルトイン関数について触れていきます。ビルトインという単語は聞きなれないものかもしれませんが、英語だと「built-in」という単語で、「作り付けの」とか「本来備わっている」、「内臓の」といったような意味を持ちます。

`built`という単語からも分かる

元記事を表示

pythonで送信する画像つきのhtmlメール

## 環境
* python3.6
* gmail

## 機能
* pythonでhtmlメールを送信する
* htmlメール内でローカル画像を使用する

## 1. 設定とコーディング1
gmailのアプリ設定

googleにログイン後、[次のURL](https://myaccount.google.com/security)に遷移する

下記の画像の画面に遷移するので、2段階認証プロセスをONにして、
アプリパスワードを作成してください。
アプリパスワードはどこかにメモをしておいて下さい。

![image (9).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192308/d1d0456e-81c3-aabb-9dff-4c22ca6790fc.png)

## 2. 設定とコーディング2

“`
import smtplib
import os
from email.mime.multipart import MIMEMultipart
from email.mime.text im

元記事を表示

PythonでOpenSSLを扱うcryptographyモジュールを使う

# はじめに

**cryptography** とは OpenSSL をラップする Python のモジュールです。高レベルと低レベルの両方のインタフェースを備えていて、OpenSSL でやりたいことすべてを扱うことができます。
https://cryptography.io/en/latest/

Python で公開鍵暗号を扱うコードを見ると、`openssl` コマンドを subprocess モジュールで呼び出すケースが多いようです。それで不都合はないのですが毎回 fork するコストがかかるので、大量には扱うときはモジュールを使う方が高速にできます。

あと、ラッパーとはいえユーザ側で書くのがすべて Python コードになるのも美しくて素敵なのでは、と。あくまで個人的な感触ですが。

# 先にサンプルコードから

どれぐらい簡単か、まずサンプルコードを見てみてください。

## 秘密鍵

### 作成
“`python:generate_privkey.py
from cryptography.hazmat.backends import default_backend

元記事を表示

(自分用)Flask_6(pythonからdbを開く、Mysql基本(phpMyAdmin))

– 今回はFlaskと騙りながら全くFlaskに触らん

# 項目
1. pythonからdbを開く
2. phpMyAdminでdbを作成
3. dbからデータを取り出してみる

# 1.pythonからdbを開く
– phpMyAdminの中の`mydb`と言うデータベースの中に、`players`というテーブルがあるとする↓
db.png

“`python:python
import pymysql

print(“動いてる”)

connection = pymysql.connect(
host=”localhost”,
db=”mydb”,
user=”root”,
password=””,
charset=”utf8″,
cursorclas

元記事を表示

pythonとOCRでyoutube広告自動スキップツール作成

## もくじ

1. はじめに
2. デモ
3. OCRで文字列を取得
4. Windowsの画面キャプチャを取得
5. wxPythonでGUI作成
6. pyinstallerでexe化
7. 最後に

## はじめに

youtubeを観ていて「広告をスキップ」ボタンを押すのが面倒くさいなと思い、自分でツールを作れないかなと考えてみました。
色々な方法が思い浮かびましたが、より人間の動きに近い実装方法が分かりやすいと思い、
OCRで文字認識を行い、指定箇所をクリックするというツールを作ることにしました。

結果、性能面での課題が多数残っていますが、おおよそ思い描いていたツールを作成することができました。
作成する際に学んだノウハウ等を書き留めておきます。
この記事が少しでも誰かのお役に立てれば幸いです。

[ソースコード](https://gitlab.com/RyutaKaii/chuntaautoclick “ChuntaAutoClick”)

## デモ

exeファイル形式です。
自動でyoutubeの広告スキップリンクをクリックしてくれます。

[chunta a

元記事を表示

PythonでImage Colorization APIを使ってモノクロ動画(gif)をカラー化する

最近、自分でモノクロ映像をカラー化したい。というような相談を、映像関係の方からよく受けるようになった。今のところ、すべてお断りしているが、APIを使えば簡単そうなのでやってみた。
こちらでカラー化して渡す、ならまだしも、プログラミング経験のない人を対象に、相手のPC上にDockerやらUbuntuやらTensorFlowやらを構築するのは至難の業なので、できればこちらの方法を検討したほうが良いかもしれない。

#参考
今回、gifの分解、連結にはこちらのサイト様を参考にさせていただいた。
というかほとんどそのまま。。。
感謝です。
https://www.lifewithpython.com/2017/10/python-extract-gif-frames.html
https://chayarokurokuro.hatenablog.com/entry/2019/06/03/Python%E3%81%A7png%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8B%E3%82%89gif%E3%82%A2%E3%83%8B%E3%83%A1%E

元記事を表示

とりあえずblenderをインストールしてpythonで動かせるようになるまで

# blenderを使っていろいろ3Dモデルを作ってみたい

ただ、この際なのでpythonである程度自動でモデリングできたら楽しそうだななんて思いながら、blenderとpythonを導入してみる、メモ書きです。

## 環境
* macOS Catalina 10.15.2
* blender 2.83

マシンスペック

* MacBook Air (13-inch, 2017)
* プロセッサ 1.8 GHz デュアルコアIntel Core i5
* メモリ 8 GB 1600 MHz DDR3
* グラフィックス Intel HD Graphics 6000 1536 MB

## blenderインストール

以下Blenderの公式HPから直接インストール。今まで2.79を用いていましたが、それに上書きをする形で2.83の最新verをインストールしています。

Frontpage

## blenderを起動

blenderを起動します。そのままアプリケーション開いてもいいのですが、どうせなのでterminal上で開けるように設定しま

元記事を表示

[python] 多次元配列のN次元M番目の要素でソートする方法

#はじめに
本日のテーマはこちらの問題から学んだこと。

[ABC 128  B-Guidebook](https://atcoder.jp/contests/abc128/tasks/abc128_b)

配列のソートの応用技について学びました。
初心者の方は「多次元配列(リストの中にリスト)をソートしたらどんな順番になるんだっけ?」って疑問に思いませんでしたか?
今回はそれを解き明かしていきます!

#考え方
今回の問題は入力で与えられる「市名」「点数」「順番」を多次元配列で保持します。辞書順で「市名」の若い順、その中でも「点数」の高い順で出力しなければならないので、2次元配列の1番目で昇順、2番目で降順したリストの「順番」を出力すればよいですね。
ポイントはオプション引数keyにラムダ式でソートしたい要素指定を行うこと。
ソートのキーが複数あり、且つ、各々で昇順・降順が異なる場合は下図の例のようにマイナスをつけて反転させるテクニックがあります。覚えておくと使えそうですね。

![image.png](https://qiita-image-store.s3.ap-northeas

元記事を表示

【QtDesigner】PyQt5 で WebView を実装する

# PyQt5 で WebView を実装してみる

`QtDesigner` と `PyQt5` を用いて、簡易的なブラウザを作成しようと思い立ったのですが、
WebView を表示するための設定方法について、日本語の記事がなかなか見つからなかったため、備忘録としてここに残しておきます。

## 環境

– OS: MacOS Catalina 10.15.3

– QtDesigner: version 5.9.6

– PyQt5: version 5.15.0

## 結論
– WebView は、**Qt5.6 で削除された**。

– 代わりに、**QwebEngineView** を使用する必要がある。

– **QWebEngineView** を使用するには、 **QWidget を拡張して、QWebEngineView クラスを作成する**必要がある。

## 背景

冒頭でもさらっと書いた通り、簡易的なブラウザを作成しようと思い立ちました。
色々ググってみた結果、 `PyQt5` というライブラリを使用すれば `Python` でもわりと簡単に Web ページを

元記事を表示

【Docker】3分でjupyterLab(python)環境を作る!

# はじめに
docker-composeファイルを使ってjupyterLabの環境構築方法を記す。

python以外にもsql,R言語にも対応している。

> JupyterLabとは、Jupyter(iPython notebook)をベースにしたインタラクティブな開発環境

## 必要なファイル、ディレクトリ
– docker-compose.yml
– jupyterLab環境に必要な設定などを記述するために使用する。
– docker runコマンドで起動することもできるが、コマンドが面倒なためこちらを使用。
– workディレクトリ
– ipynbファイルなどを保存するための使用する。

## ディレクトリ構成

以下のような構成図になるようにファイル、ディレクトリを作成。

“`:構成図
.
├── docker-compose.yml
├── work
  
“`

## docker-compose.ymlの内容
jupyterLab環境を構築するために、docker-compose.ymlに必要な設定を記述する。

“`yml:

元記事を表示

[光-Hikari-のPython]07章-01 例外処理(エラーと例外)

##[Python]07章-01 エラーと例外
今までいろいろなプログラムを書いてきました。自分で記載したプログラムを実行するにはおよそ以下の手順で行います。

**【1】プログラムの作成**
例えば、割り算の計算を行うプログラムを例にとってみましょう。

プログラムの作成は、コンピュータに何かを処理させるため、Pythonなどのプログラムの文法に従って、処理のためのコード記述する作業です。これまで何度も実施してきました。

“`.py
print(‘割り算a÷bを求めます。’)
a = int(input(‘aの値を入力してください:’))
b = int(input(‘bの値を入力してください:’))

print(a / b)
“`

なお、上記のコードは人間には読みやすく作られていますが、このままでは実はコンピュータ上では処理はできないのです。正確にはコンピュータ内部にある**CPU(中央処理装置)**で処理するのに、上記のコードを実行はできません。この状態のコードを**ソースコード**と言ったりします。

**【2】インタプリタ処理**
ソースコードを実行できるようにする

元記事を表示

Windows上でシンボリックリンクを作成するツール

## 概要

windows環境でシンボリックリンクを作成する機会が頻繁にあったので、
右クリックメニューからシンボリックリンクを作成するツールを自作した。

## 環境

* Windows10 Pro
* python3.6.8
* pyinstaller3.4

## githubリポジトリ
https://github.com/nakashimn/win_symlink

## 準備

#### ツールをgit cloneする

1. 上記githubリポジトリをgit cloneする

#### グループポリシー設定

1. 「グループポリシーの設定」から下図の「シンボリックリンクの作成」を開く
2. ユーザーを追加する

![group_policy.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/327534/9aefd7cb-df10-a365-ce7e-6992eeeeca60.png)

(参考)https://qiita.com/masinc000/items/512d0a46

元記事を表示

[ev3dev×Python] カラーセンサ

この記事はPythonでev3を操作してみたい人のための記事です。
今回はカラーセンサを使っていろいろな操作をしていきたいと思います。

#目次
0 . 用意するもの
1 . カラーセンサのプログラム

#0.用意するもの
◯ ev3(タンク) とカラーセンサ、タッチセンサ
◯ パソコン(VSCode)
◯ bluetooth
◯ microSD
◯ [資料](https://buildmedia.readthedocs.org/media/pdf/python-ev3dev/latest/python-ev3dev.pdf)(これをみながら進めていくのがオススメです。)

#1.カラーセンサのプログラム(資料p.33)

###1-0 . カラーセンサが色を検出したら〜するプログラム
“`colorsensor00.py
#!/usr/bin/env python3
from ev3dev2.sensor.lego import ColorSensor
from ev3dev2.sound import Sound

cs = ColorSensor()

元記事を表示

AtCoder Beginner Contest 171 参戦記

# AtCoder Beginner Contest 171 参戦記

20分でE問題まで終わって、これは初の全完!?と思ったが、Fの問題文を見た瞬間に無理だーってなって、232位から700番台まで下がっていくのを80分眺めることになった.

## [ABC171A – αlphabet](https://atcoder.jp/contests/abc171/tasks/abc171_a)

1分半で突破. 書くだけ.

“`python
A = input()

if A.isupper():
print(‘A’)
else:
print(‘a’)
“`

## [ABC171B – Mix Juice](https://atcoder.jp/contests/abc171/tasks/abc171_b)

1分半で突破. 書くだけ. B問題で sort が出てくるのは珍しいのでは?

“`python
N, K = map(int, input().split())
p = list(map(int, input().split()))

p.sort()
p

元記事を表示

Google Vision APIで『免許証OCR』してみた

# はじめに
活字や手書き文字を読み取って文字データに変換する、「OCR(光学文字認識)」という技術があります。

請求書やレシート、名刺や免許証といった様々なドキュメントに対してOCRのサービスが提供されています。
OCRを使用することで、データ入力の手間を少なくすることができます。
また、他のシステムと連携することで、データの有効活用も可能になります。

各企業が提供するOCRには、企業向け・個人向けのサービスがあります。
個人でも使用できるOCRとして、「Google Vision API(以下、Vision APIという)」があります。
Vision APIは、Googleが提供する非常に高性能な画像分析サービスです。
(無料トライアルページは[こちら](https://cloud.google.com/vision?hl=ja))

今回は、Vision APIを使用して簡単な免許証OCRをやってみました。

# 免許証OCR
## 環境
環境はGoogle Colaboratoryを使用します。
Pythonのバージョンは以下です。

“`python
import pl

元記事を表示

StyleGAN 論文紹介 & 実験

#はじめに
近年急速に進化しているGANの中でも、特に有名な物の一つであるStyleGANについて改めて勉強したいと思い、今回のテーマにしました。

前半は論文紹介として、StyleGANの構造や特徴について勉強した事をまとめます。
後半は、実際に学習済みのStyleGANを使って画像生成を試してみたので、その結果を書いていきます。

#論文紹介
##StyleGAN (v1)
StyleGANは2018年に発表されました。[(論文リンク)](https://arxiv.org/abs/1812.04948)
以下はStyleGANで生成された画像例の引用ですが、本物の写真と見分けがつかないような高品質の画像が生成されていると思います。
stylegan-teaser.png

以下、StyleGANの特徴を説明し

元記事を表示

製薬企業研究者がPythonにおける正規表現についてまとめてみた

# はじめに

ここでは、Pythonにおける正規表現の基本について解説します。

# 主な正規表現

“`python
import re

m1 = re.match(r’ab*’, ‘a’) # 直前の文字(b)の0回以上の繰り返し
if m1:
print(m1.group(0))
else:
print(‘Not match’)

m2 = re.match(r’ab+’, ‘a’) # 直前の文字(b)の1回以上の繰り返し
if m2:
print(m2.group(0))
else:
print(‘Not match’)

m3 = re.match(r’ab?’, ‘abb’) # 直前の文字(b)の0回または1回の繰り返し
if m3:
print(m3.group(0))
else:
print(‘Not match’)

m4 = re.match(r’ab$’, ‘abb’) # 文字列の末尾と合致するか
if m4:
print(m4.group(0))
else:
print(‘Not mat

元記事を表示

OTHERカテゴリの最新記事