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

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

Discord Bot と 顔認識を組み合わせてみた ~LT用~

# はじめに
LTで発表する用の資料

今までやってきた顔認識(OpenCV)をボット化してみた
※ 顔認識記事がまだまとまっていません(;・∀・)

お品書きは下記の通り

* なぜ、Discord?
* モジュール,ディレクトリ構造など
* Discord Bot

# なぜ、Discord?
**なんとなくです!**

今まで、Slack Bot で既に作っちゃったしなぁ

でも LINE Bot もなんかなぁ…

そうだ、 **Discord ってボット作れるんじゃね???**

てことで Discord Bot について調べた

公式(discord.py)様

なんか楽しそうなので作ってみた☆

pythonでCGIアプリケーション

#はじめに
pythonの教科書を読んでいたら、cgiアプリケーションを作れることを発見!
今回はすごく簡単に動作確認だけ行って、詳細は次回掲載したいと思う。
では、早速やってみる。

#動かしていく
まず、以下のpythonスクリプト、htmlファイルを作成。

“`python:test.py
import cgi

print(“Content-Type: text/html; charset=utf-8″)

htmltext=”””

Takumi Katayama Qiita python

“””
print(htmltext)
“`

“`html:test.html


Takumi Katayama

元記事を表示

自宅サーバー用CentOS 7.7にpython環境を構築する

# モチベーション
自宅でのプログラミング環境を整備するためにCentOS7にGitLabとMattermostをインストールした自宅サーバーを運用中
(このセットアップは別途記事を準備中。いろいろあってめちゃくちゃ長くなってしまっている…)

GitLabからのいろいろな通知はMattermostで見れるようになっているが、
それ以外にも例えばClamAVでウイルス検知したときや適当なログなどをMattermostのプライベートチャネルに送れたら管理が楽になりそう。Gmailは大量のスパムに埋もれるし。
pythonにslackwebというslack等々にメッセージを送れるライブラリがあるようなので、そのインストールが最終目標。

とはいえ、そもそもpythonについてはサーバー内で特に弄っていなかったため、CentOS 7デフォルトの2.7ではなく3系統が使えるように環境を構築する。
もとの環境を汚さないように適当な仮想環境を作るというのでググってみると、pyenvとpipenvによる仮想環境が良さそうだったので当面それを試す。

$と

元記事を表示

MacのPythonを2系から3系にアップデートする

# 概要
Macには元からPythonがインストールされていますが、OS 10.15の時点でもバージョンが古い2系です。実際にPythonを書くとなると皆さん3系にアップデートされているようです。そこで自分も3系にアップデートをしたのでその際の手順を記録します。

### 参考URL
https://prog-8.com/docs/python-env

### 作業環境
Mac OS 10.15 Catalina
固定ネットワーク回線

# Pythonのアップデート手順
Mac環境でオススメされている手順は下記のようです。

* 現在インストールされているPythonのバージョンを確認
* Homebrewをインストール
* Homebrew を使ってpyenvをインストール
* pyenv を設定
* pyenvを使ってPython 3系をインストール

### 現在インストールされているPythonのバージョンを確認
まずは念のため自分のMacのPythonのバージョンを確認します。ターミナルを開いて下記のコマンドを入力するとバージョンが表示されます。

“`
$ Pyth

元記事を表示

pybitflyerを使うBotを、Cloud9で動作させる

#概要

pybitflyerを用いたソースをCloud9で動かすときにはまったので備防録

#Python3系への変更

Cloud9 で BitMEX のBotをTESTNETで動かす
https://qiita.com/aisurta/items/8990820f48457bf17cf0

で書いたときはCloud9はデフォルトのPythonは2系ですよといったが、現在(2019/11/02)時点では3系がデフォルトになっているため、~/.bashrcを編集する必要はない

#requests、pyyaml等のインストール

ただし、pipのインストール先はデフォルトが

“`sh
/usr/local/lib/python2.7/site-packages
“`

なので単純に

“`sh
pip install requests
“`

だけだとpythonで呼び出すときに

“`sh
ModuleNotFoundError: No module named ‘requests’
“`
というエラーが出る。そこで

“`sh
sudo update-alter

元記事を表示

Discord bot備忘録 ①ボット作成編

# はじめに
Discord bot を作成した備忘録

とある事情でDiscord bot を作成したいと思ったので、bot作成から様々なアクションの備忘録
slackbot以外にも手を出してみたかった

お品書きは以下の通り

* Discord とは
* Discord bot の作成方法
* モジュール,ディレクトリ構造など
* いろいろ作ってみた

# Discord とは
> Discord(ディスコード)とは、~~~ 音声通話・VoIPフリーソフトウェアである。
> (Wikipediaより)

私は今までSlackみたいに使ったことが何度かあった

SlackにボットがあるんだからDiscordも…と思って調べてみたらdiscordにもあったので作ってみようと

# Discord bot の作成方法

discord developerから作成

Applicatio

元記事を表示

「傷口に貼るアレ」で例える文字コード処理 ~python3で文字化けファイル名操作~

# はじめに

Pythonで日本語ファイル名を処理する需要があって,本記事を書くに至った.テキストファイルの読み書きの際の文字コード指定は比較的容易にできる.しかし,__ファイル名__にshift-jisといった文字列が用いられた際,いわゆる文字コード間の変換が必要となり,その理解になかなか苦労した.
同じ日本語記載のファイル名でも,文字コードがutf-8かshift-jisかでは全く別物.ファイル名を表示するUIが頭よく解釈してくれるおかげで,普段は頭を使わず作業ができるものの,pythonでその処理が必要となった場合,文字コードの混交(扱うファイルによって文字コードが異なる状況)は非常に厄介となる.
というわけで,今回はそれぞれの文字コードの表示や変換を理解しつつ,最終的にはshift-jisの日本語ファイル名を,python3のデフォルトであるutf-8に変換することを目指す.

想定は3系です.**3系**です(文字コード関連なので大事).
本記事の文字コード関連で必要な知識は,ほとんどは[**公式サイト**](https://docs.python.org/ja/3.6/h

元記事を表示

初心者がUE4でルービックキューブ風なものを作って強化学習用のライブラリにしたい #3

前回に引き続き初心者がUE4を絡めたPythonライブラリを作れないか色々進めていく記事です(ほぼ自分のための備忘録としての面が強い・・)。

最初 : [#1](https://qiita.com/simonritchie/items/e8d84c2941b5bd2862f5)
前回 : [#2](https://qiita.com/simonritchie/items/c72e24368909f4fb196e)

# 回転処理の関数のブラッシュアップ

前回の記事で作った回転の関数が、少々煩雑な気がしてきており、且つ何個も作る形になる(なるべくシンプルにしたい)ので、ブループリントがシンプルになるように抽象化された関数を挟んだり等、変更していきます(DRY原則的に)。

assert用の処理は加えてあるので、躊躇せずがっつり手を加えていきます。

## 移動のアニメーションの関数の抽象化

applyMoveAnimValueという関数を追加して、各軸の回転とアニメーションの関数から共通で利用し、アニメーションに必要なパラメーターを渡してアニメーションさせるようにします。

![i

元記事を表示

4×4リバーシ C++による高速化

# 概要
[4×4リバーシのPythonプログラム](https://qiita.com/gatchaman-20140215/items/b2ca6f7d57ec51ac00db)を作成しましたが、高速化するため、C++で記述し、pybind11を使ってPythonから呼び出せるようにします。ロジックはPythonプログラムと同一です。

# 環境
ホストOS Ubuntu18.04 にdockerをインストール、docker内でPythonを動かしています。

– Ubuntu18.04
– nvidia-driver-410
– nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04
– Python 3.7.3
– tensorflow-gpu 1.13.1
– g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0

# プログラム
## 配置
deep-learning-reversi/
├ dlreversi4/
│ ├ cpp/
│ │ ├ Game.hpp
│ │ ├ State.cpp
│ │ └ Sta

元記事を表示

python3でpip installできなかった

## なにがおきたの?
`pip install` コマンドがうまく使えなかった

pip3コマンドでPython3のpipを呼びだそうとしたのですがcommand not foundになってしまった。

## 解決作
このコマンドを打ったら解決した。

“`
sudo chown -R $(whoami) $(brew –prefix)
“`

pip install はこのコマンドでした。

“`
sudo easy_install pip
“`

参考:https://ja.stackoverflow.com/questions/44308/homebrew%E3%81%A7python3%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E3%81%A8pip%E3%81%8C%E4%BD%BF%E3%81%88%E3%81%AA%E3%81%84

https://4to.pics/article/post/54

元記事を表示

画像やWebカメラを加工してみる パート3 ~モザイク処理編~

# はじめに
Pythonを使って、画像やWebカメラを加工してみた パート3

前回に引き続き、 **OpenCV** を使って画像(映像)加工をやってみた
今回は画像とWebカメラの映像にモザイクを入れる処理!

お品書きは下記の通り

* モジュール,ディレクトリ構造など
* 画像モザイク
* Webカメラモザイク

# モジュール,ディレクトリ構造など

### モジュール
モジュールは前回と同様のものを使用
必要があればインストールしてください!

“`
pip install opencv-python # OpenCVの機能を使用するときに必要(python上ではcv2で使う)
pip install numpy # 数値計算を効率的に行うための拡張モジュール
pip install os # osに依存している機能を利用でき

元記事を表示

Python3でcsvから、postgresSQLへinsert処理

#Python3でcsvから、postgresSQLへinsert処理

###利用環境
>
Python 3.7.2
Visual Studio Code 1.39.1
CentOS Linux release 7.7.1908 (Core)
PostgreSQL 11.5 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
>

DBサーバー側の環境の構築
[CentOS7にpostgreSQLをソースからコンパイルでインストールはこちら](https://qiita.com/code2545Light/items/de1ff38453c90873d499)

###利用データ
[Python3でcsv処理あれこれテスト](qiita.com/code2545Light/items/a4addf9ea849a3e95793)
と同じくテストデータは、上場企業一覧のCSVを
カブサポさんより配布されているものを入手し、利用する。
https://kabusa

元記事を表示

製薬企業のプログラミング初心者のための環境構築

# はじめに

ここでは、主に製薬企業でプログラミングを使った業務を行うために必要な環境構築について書いています。
基本的にはケモインフォマティクスやバイオインフォマティクスなどにおける機械学習に利用することを想定しています。
また、使用するパソコンは、Windows 10を想定しています。

# Anacondaのインストール

Anacondaをインストールすると、Pythonとともに、科学計算でよく使われるライブラリ(よく使う関数などをまとめて利用できるようにしたもの)一式が同時にインストールされ、すぐに実務で使うことができます。

まず、[Anacondaのダウンロードページ](https://www.anaconda.com/distribution/)にアクセスします。
そこで、下の図の赤枠で示しているように、Windows用のインストーラーを選択します。

![Anaconda download.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517951/876b0e96-987d-41d

元記事を表示

TimeStampedModelのすヽめ

# はじめに
[Two Scoops of Django1.11](https://twoscoopspress.com/products/two-scoops-of-django-1-11)に記載されていたモデル定義をする際のベストプラクティス?について書きます。

# TL; DR
* [作成日時]・[更新日時]を持つ抽象モデルを定義し、各モデルに継承させる

# はじめに
一般的に、ほとんどのモデルには「作成日時」および「更新日時」のフィールドを持たせると思います。
例えばこんな感じ。

“`python:models.py
import timezone

from django.db import models

class Book(models.Model):
title = models.CharField(verbose_name=’タイトル’, max_length=20)
created_at = models.DateTimeField(verbose_name=’作成日時’, default=timezone.now)
modif

元記事を表示

【python3】変数名をキーとして文字列のformatを行う

# 実装した関数

“`py
from inspect import currentframe,getargvalues

def varfmt(target,*argv):
return target.format(**getargvalues(currentframe().f_back).locals)
“`

【※追記※】@shiracamus さんより、python3.6以降なら以下の書き方でOKとのコメントを頂きました。
ありがとうございます!

“`py
def HogeAaPrint(hoge, aaa):
print(f”{hoge} {aaa}”)

HogeAaPrint(10, 20)
“`

[参考]
https://qiita.com/AnchorBlues/items/f7725ba87ce349cb0382
https://docs.python.org/ja/3/library/inspect.html

# example
“`py
from inspect import currentframe,getargvalu

元記事を表示

リアクションによる役職の付与、剝奪

#まずはじめに
この記事は海外の開発者様**[Anson](https://github.com/ansonfoong?tab=repositories)**様のコードを日本語で少し分かりやすく解説した物になります。また、ご本人様への確認を取り許可を頂いている為二次配布を禁止し、個人利用にのみ使用可能とします。

[元ソースの掲載ページ](https://github.com/ansonfoong/ReactionPy)
[ご本人様の解説動画](https://www.youtube.com/watch?v=MgCJG8kkq50)

#概要
ここ最近DiscordのBot開発にのめり込んでいるのですが、よく大手のサーバーに入っているbotで**リアクションを付けると役職が付与される**アレ、どうすれば上手く実現できるのかなぁ…と悩みつつcommand.commandsのやつを調べたりなんやらと色々探してみたはいいものの、**まっっっっっっったくと言って良いほどしっくりくるpython用の日本語の記事が無かった**んですよね。なので私が調べ見つけた海外の開発者**Anson**様

元記事を表示

Pythonメモ1 -sort()の注意点-

Pythonを学習する中で、特にこれは注意すべきだと思ったポイントを、「Pythonメモ」というテーマでQiitaに記事を上げていこうと思います。
今回は、sort()について整理していきます。

1.sort()とは

2.sort()とsorted()の違い

3.sort()、sorted()を使う上での注意点

4.出典

##1. sort()とは

そもそも、sortは日本語でどういう意味なのでしょうか。

**sort**(名)種類、人、もの
**sort**(動)分類する、区分する

(出典) [sortの意味・使い方・読み方 | Weblio英和辞書](https://ejje.weblio.jp/content/sort)

Pythonのsort()は、動詞の意味である「分類する、区分する」という意味から転じて、リストの要素の順番を並べ替える役割を持ちます。並べ替え方は、**アルファベットのみの要素の場合はアルファベット順**、**数値のみの要素の場合は昇順**に並べ替えます。
以下のコードに、その例を示します。

“`Python:アルファベットのリスト

元記事を表示

PyPlotを使って、散布図の上にカラーテーブルのようなものを重ねる。

少し複雑な散布図を書いたときにその散布図のキャプションが見にくかったから、表形式で出力したいと思った。
やってる記事が見つからず、結構時間を溶かしたのでメモ代わり。
~~意外と需要あるんじゃないかと思ってる~~
~~後、コードは適当…~~
もっと簡単な方法があればコメント等くださるとありがたいです。

#環境
* Python 3.6.2
* pyenv-virtualenv
* macOS 10.15

#最終目的
こんな感じの表が作りたい。
(以下の表は特に意味のない、散布図です。)
![pic_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/225002/76022a8a-37e1-86a8-e4b6-fbe5f20f7a41.png)
作り方は、表を散布図とテーブルの2つ作ってそれを重ねるという風にした。

#そもそもPyPlotについて
PyPlotの仕様については以下の記事が非常にわかりやすい
[matplotlib の figure(図) と axes(座標軸)-python](ht

元記事を表示

Pythonの数値、文字列、リスト型(Python学習メモ①)

# Pythonの型

## 数値
ポイント

* 除算(`/`)は常にfloatを返す
* 切り下げ除算を行ってint型を得たい場合は `//` 演算子を使う
* 剰余を得たい場合は`%`を使う
* 演算対象の型が混同していた場合は、整数は浮動小数点数に変換される
* 対話モードでは、最後に表示した式を変数「`_`」に代入してあるので電卓と使用するのに楽
* Pythonでは整数型、浮動小数点数型以外にも、十進数(Decimal)や有理数(Fraction)などがサポートされている
* 複素数もサポートされており、虚部を表現するのに接頭辞`j`または`J`を使用して`3+5j`などとする

“`
# 足し算
>>> 2+2
4

# 引き算と掛け算
>>> 50 – 5 * 6
20
>>> (50 – 5) *6
270

# 割り算
>>> 17 / 3
5.666666666666667
>>> 17 // 3
5

元記事を表示

Kerasでオートエンコーダを構築して、リンゴかリンゴじゃないか、という判別をさせたい

 MNIST、リンゴorバナナでKerasでの画像判別の仕組みの初歩は分かりました。でも、画像の判定をする時にはどれが「リンゴ」か「バナナ」か、だけではなくて「どっちでもない」が欲しい。
 難しい言葉で言うと、正常値のデータだけで異常値の判別をさせたい。
 これができれば、カメラで顔認証するアプリケーションも作れるのでは?というのが今回のテーマ。

#考え方
 ディープラーニングが話題になり始めた頃からある、オートエンコーダという仕組みを利用します。
 オートエンコーダは、入力されたデータを圧縮して、それを復元して出力するというもの。
 コンピュータで画像を扱ったことがある人なら分かると思いますが、解像度を小さくした後に元の解像度に拡大するような処理です。
 これだけだと、単純にデータを劣化させるだけなので無意味な操作なのですが、ポイントになるのは入力されたデータが何であろうと、学習したデータに復元しようとする、というところ。
 つまりリンゴの画像で学習させれば「絶対にリンゴに戻そうとするマン」が出来上がる。
 当然、入力された画像がリンゴでなければ上手く復元できないので、猫とか入れる

元記事を表示

OTHERカテゴリの最新記事