Python3関連のことを調べてみた2020年02月14日

Python3関連のことを調べてみた2020年02月14日

COTOHAで感情を読む

#はじめに
この記事は[【Qiita x COTOHA APIプレゼント企画】](https://zine.qiita.com/event/collaboration-cotoha-api/?utm_source=qiita&utm_medium=top_banner)に参加しています。

~~プレゼントが欲しいです~~

#なにをするのか
COTOHA APIを使ってニュースの感情分析をしてしまおうという趣向の記事です(~~好きな子の感情を読むわけではない~~)

将来的には株価などの増減を予測する際などに利用していければなと考えています。

#COTOHA APIって??
[COTOHA API](https://api.ce-cotoha.com/contents/index.html)とは、NTT Communications様が開発された日本語に特化した解析サービスです。

日本語の自然言語処理をしたことがある方ならわかると思うのですが

**日本語は色々とめんどくさい**?

日本語解析の優秀なライブラリとしてはMecabなどもあるのですが~~丸投げできるならそっちの方が嬉

元記事を表示

ModuleNotFoundError: No module named ‘mysql.connector’; ‘mysql’ is not a package?

# はじめに
Pythonを書き始めた頃に掲題のエラーに遭遇しました。
本記事を読むことで、Pythonモジュールについての理解を深めることができます。

![mysql.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508680/f927d223-fa00-ffb7-862e-590326a82a9f.png)

Python3プログラム経由でMySQLに接続しようとした時、掲題の問題に出くわしました。
まず最初に、そのプログラムを実行する前に`mysql-connector-python` をインストールしていたことは確実でした。

“`
pip3 install mysql-connector-python

(For readability, added line feed to each row)
Requirement already satisfied: mysql-connector-python in /opt/pypy3.6-v7.1.1-osx64/site-packages (

元記事を表示

python初心者がIT企業にインターンしてみた[2日目 チャットボット調査]

#チャットボットってよく聞くけど・・・?
今日も元気よく出勤したわけだが、メモを一日に尋常じゃないくらいするため、メモ帳を購入。それももう3分の1使ってしまった。なぜなら、このインターンは、何も教えてはもらえないのだ。その場で聞いたキーワードを頼りに考えて行動しなくてはならない。メモ帳をトイレットペーパーくらい消費するのはこの世で俺だけなのでは?

##ヒアリングの前のヒアリング?
昨日は開発工程について学んで、要件定義書を作ろうとしているのだが、ヒアリングはその最初の段階の工程
である。顧客にどういう目的で、どういう人をターゲットに・・・。説明がややこしくなるので簡単にいうと、5W2Hを聞くのである(who,what,which,where, why, how, how much)。しかし、今日したのはヒアリングではない、ヒアリングである。????。つまり、予め漠然としたことを聞いて、作りたいものをこちらから提案して初めてヒアリングができるのである。業務フローを作るためにもこれは大事な工程である。
ヒアリングで聞いたことは、思いの外漠然としていた。とりあえず、社内情報を全文検索できる

元記事を表示

ファイルの作成

“`py:
f = open(‘test.text’, ‘w’)
f.write(‘test test test\n’)
print(‘This’, ‘is’, ‘test’, sep=’#’, end=’!’, file=f)
f.close()
“`

“`:実行結果
test.textとういうファイルが作成されて、
中身は、

test test test
This#is#test!

となる。
“`

元記事を表示

Slack APIでリクエストを検証する。を実装してみる。

## やりたいこと

HTTPリクエストが、Slackからのリクエストなのか確認する
[Slackからのリクエストを検証する](https://api.slack.com/docs/verifying-requests-from-slack)

## AWS周り

API Gatewayを使っていたのでHTTPヘッダを編集

**POST->メソッドリクエスト->HTTPリクエストヘッダー**
スクリーンショット 2020-02-13 12.41.19.png

**POST->統合リクエスト->HTTPヘッダー**

スクリーンショット 2020-02-13 13.08.57.png【AtCoder用】標準入力メモ

# モチベ
AtCoderの過去問埋めでいつも忘れてしまう標準入力の備忘録

## int2つ
“`python
N,Q = map(int, input().split())
“`
## 横多数 str
“`python
list = [s for s in input().split()]
“`

## 横多数 int
“`python
l = list(map(int,input().split()))
“`

## 縦N回 int
“`python
i = [int(input()) for i in range(N)]
“`

## N×M int
“`python
l = [[int(i) for i in input().split()] for M in range(M)]
“`

元記事を表示

PYthon3で線形探索&二分探索書いてみた

#線形探索
Pythonの***enumerate()関数***を使うと、forループの中でリスト(配列)などのイテラブルオブジェクトの要素と同時に***インデックス番号(カウント、順番)***を取得できる。
計算時間 ***O(n)***

“`python
def linear_search(li,ans):
print(str(ans) + “を検索します”)
for i,data in enumerate(li):
if data == ans:
print(str(i)+ “番目にありました”)
break
else:
print(“入力した要素は存在しませんでした”)

if __name__ == ‘__main__’:
li=[1,4,5,6,8,9,14,19]
print(“調べるリスト”)
print(li)
search_num = int(input(“上のリストから調べたい要素を入力

元記事を表示

[1時間チャレンジ] 適当すぎる占いサイトをPythonで作ってみた

![適当すぎる占い.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324759/87722f3c-1240-5920-b07a-19692d2a562a.png)

# 適当すぎる占いサイト

少し前に、適当すぎる占いサイトを作ってみました。

作成後にちょこちょこ修正したりしましたが、作業時間は実質1時間くらいです。

## 使用した技術

使用した技術として、PythonのWebフレームワークであるBottleを使用しました。

データベースはSQLite3を用い、CSSフレームワークはBulmaを使用しました。

デプロイ先はHerokuです。

## データベースの作成

まず最初に、データベース(SQLite3)の作成を行いました。

データベース名は、database.dbとしてあります。

“`set_fortune.py
# -*- coding: utf-8 -*-

import sqlite3
from contextlib import closing

dbname = ‘

元記事を表示

Python3かつvenv使用時にuWSGIをインストールする時の注意点

# はじめに
 初投稿です。Pythonでwebアプリケーションを構築する際に用いるuWSGIのインストール方法に関する記事です。

# 準備
 OSはLinux、Mac。Windowsの場合は分からないです。
 まず、Python3でvenvを建てる
`$ python3 -m venv ./venv`
アクティベート
`$ . ./venv/bin/activate`
pipのアップグレード(兼pipコマンドが通るか確認)
`(venv) $ pip install -U pip`
このまま普通にuWSGIをインストールしようとしても、おそらくエラーになるはずです。

“`
(venv) $ pip install uwsgi
…(略)
No such file or directory
#include
^~~~~~~~~~
コンパイルを停止しました。
“`

# 公式のドキュメンテーションをみる
 [Installing uWSGI — uWSGI 2.0 documentation](https:

元記事を表示

Raspberry PiにpyenvをインストールしてPythonをバージョン管理

ラズパイには標準で`3.5.3`のPythonがインストールされていますが、
`3.6`以上のPythonを使いたかったので、pyenvを使用してバージョンを切り替えられるようにしておきます。

# 環境
– Raspberry Pi 3 Model B+
– Raspbian 9.11(stretch)
– Kernel 4.19.66-v7+

“`Bash
$ uname -a
# Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux
$ lsb_release -a                
# No LSB modules are available.
# Distributor ID: Raspbian
# Description:    Raspbian GNU/Linux 9.11 (stretch)
# Release:        9.11
# Codename:       stretch
“`

# pyenvのインストール

まず

元記事を表示

Python3とSeleniumとGoogle ChromeでWebページのスクリーンショットはSelenium-Screenshotが便利です

Python 3とSeleniumとGoogle ChromeでWebページのスクリーンショットを取得する方法の1つとして、Selenium標準の “`save_screenshot“` メソッドを使う方法がありますが、この方法の場合、指定されたサイズ(ウインドウサイズ)のスクリーンショットを取得することはできますが、Webページ全体のスクリーンショットを取得することはできません。

Googleで検索してみると、色々な方法がヒットしますが、最も簡単で、かつ再利用性の高い方法は、Selenium-Screenshotパッケージを使う方法です。Selenium-Screenshotパッケージを使用すると、簡単にWebページ全体のスクリーンショットや、HTML要素を指定したスクリーンショットを取得することができます。

## インストール

### 1.Python3のダウンロードとインストール

Windowsの場合は、下記URLよりインストーラーをダウンロードしてインストールする方法が簡単です。
https://www.python.jp/

LinuxやMac, FreeBSDな

元記事を表示

音楽ファイル(flac, wav)のタグ情報(タイトルやアーティスト)を抽出したい。

# 初めに
ハイレゾ音源しかもってないためmp3とか知りません。FLACやWAVEのタグ情報(曲名やアーティスト)を取得したいのです。
mutagenライブラリでは、wav形式の音楽ファイルのタグ情報が取得できなかったため、pytaglibライブラリを使用しました。

## PC環境
windows10 pro 64bit
python 3.8.1 64bit

# pytaglibをinstallする
pytaglibはTagLibというC++ライブラリをバインドしてpythonから動作するようにしたライブラリ。

### Windowsは「pip install pytaglib」ではダメ
以下公式の下のほうにある「Manual Compilation: Windows」を実施した。
[pytaglib公式](https://pypi.org/project/pytaglib/)

### 準備
TagLibをダウンロードして解凍しておく。
(https://taglib.org/#windows)

### 手順1
~~~
1. Install Microsoft Visual

元記事を表示

Python 3.7でTensorflow 2.xを動かす

# 前書き

macOSにPython3.7.xをインストールして `pip3 install tensorflow` したら 2.1系が入りました。ネットで見つけたコードが動かなくて困りました。

Python 3.6.xとTensorflow 1.xのセットアップを行えば元のソースのまま実行できるようですが、せっかくなのでTensorflow 2.xを使ってみたいと思います。

# この構成でHello Tensorflowするには?

## 何も考えずHello Tensorflowしてみる

そして、よくあるコードを `tf-hello.py` みたいな名前をつけて保存し、実行してみます。

“`
import tensorflow as tf

hello = tf.constant(‘Hello, Hello World!’)

sess = tf.Session()
print(sess.run(hello))
“`

すると、次のように表示されるはずです。

“`
$ python3 tf-hello.py

Traceback (most rece

元記事を表示

python ConfigArgParse メモ ~まだ引数と設定ファイル別々に管理しているの?~

コマンドライン引数と設定ファイルのパラメータを別々に管理するのが面倒だったので両方まとめて管理できるパーサーを探したらよさそうなのがあったので調べたメモ。

ConfigArgParse
https://github.com/bw2/ConfigArgParse

## 使われてるのか?

あまりに使われていないとEOLしてしまいそうなので軽く調べる

“`console
~$ apt-cache rdepends python3-configargparse
python3-configargparse
Reverse Depends:
python3-certbot
snakemake
bdfproxy
python3-azure-devtools
prometheus-pgbouncer-exporter
cloudprint
“`
一番メジャーなのはLet’s Encryptのクライアントである「cerbot」か、セキュリティな人々には「bdfproxy」もかな、まぁ大丈夫そうか。

## 対応フォーマット

対応しているフォーマットも確認する。

元記事を表示

python初心者がIT企業にインターンしてみた[一日目 開発工程]

#ウォーターフォール開発
##朝の打ち合わせ
とりあえずスーツで出勤した私は部長にすぐさま、「私服でいいのに」と笑われた。おいいいいい。
出勤はしたものの、何をするか全く知らない私は、打ち合わせで衝撃を受けた。このインターンでは、多くのことは知らされず、キーワードなどは伝えるけどその他は自分で調べて進めていくというもの。その意図は、おそらく自己解決能力を鍛えるものだと思う。この一ヶ月半で大きく成長できることを確信した。このインターンを紹介してくれた先輩に感謝したい。ありがとうございます。

##最初のキーワードはウォーターフォールモデル
打ち合わせで知らされたのは開発工程ガイダンスとウォーターフォールモデルというキーワードだけである。昼にもう一度打ち合わせをやるから、それまでにその打ち合わせを有意義に活用できるように必要事項をまとめて発表してもらうからとのこと。
時間は朝の十時。打ち合わせは一時。さてまずはオフィスを入れなければな。
オフィスを入れた頃には十一時。やばい。

#ウォーターフォールモデルとは
##ウォーターフォールモデルとアジャイルモデル
開発工程には二つのモデルがあり、

元記事を表示

Backtrader 別のファイルからインジケーターをimportする方法

#カスタムインジケーターのimport
いままでは説明のため同一のスクリプト内にカスタムインジケータークラスを書きました。しかしカスタムインジケータークラスだけを別のpyファイルに書いて、ストラテジーのスクリプトとは別々に使う方が便利です。

カスタムインジケーターのファイル名を仮に **customindicator.py** とすると、ストラテジーの冒頭部分に

`import customindicator as cind `(任意のわかりやすい名前)

と書いてストラテジークラスのinitメソッド内には

`self.myind1 = cind.MyStochastics1(self.data)`

と書きます。

customindicator.py はストラテジーのスクリプトと同じディレクトリに置きます。Jupyternotebookを使っていてデフォルト設定のままならば `C:\Users\ユーザー名\` です。

“`python:customindicator.py

import backtrader as bt

class MyStochastic1(bt.

元記事を表示

「=」を使わずにFizzBuzzを書く

#「=」を使わずにFizzBuzzを書きたい
特に意味はない
20までのFizzBuzzを「=」を使わずにいろんな言語で書いてみよう

#C言語

“`c:c_fizzbuzz.c
#include

int main(void) {
int n;
n++;
while (1) {
if (n%3 && n%5) {
printf(“%d”, n);
}
else{
if (!(n%3)) {
printf(“Fizz”);
}
if (!(n%5)) {
printf(“Buzz”);
}
}
printf(“\n”);
n++;
if (n>20) {
break;
}
}
return 0;
}
“`

初期化しないと0が入るのを利用(ただしコンパイラによる)
0がFalse、それ以外がTrueになる性質を使って条件分岐する

#Python
“`python:pyth

元記事を表示

Raspberry PiにTensorFlow 1.15.0をインストールする

こんにちは。
Raspberry PiへのTensorFlowのバージョン`1.15.0`以降をインストールしたかったのですが、
`pip`ではうまくいかず、日本語でまとまっているものが見つからなかったので、備忘録がてらまとめておきます。

# 環境

ラズパイの環境は下記の通りです。

– Raspberry Pi 3 Model B+
– Raspbian 9.11(stretch)
– Kernel 4.19.66-v7+

“`Bash
$ uname -a
#Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux
$ lsb_release -a                
#No LSB modules are available.
#Distributor ID: Raspbian
#Description:    Raspbian GNU/Linux 9.11 (stretch)
#Release:        9.11
#Codename:  

元記事を表示

AWSの可視化ツールCloudMapper

#AWSの可視化ツールCloudMapperのtagsオプション

CloudMapperでオプション(tags)が障害中で使用できないが、どうしても使用したい人の用
https://github.com/duo-labs/cloudmapper/issues/652
ご指摘の通り、Lambda関数のタグの取得に修正が必要とのこと
※早く修正していただけることを願いしますw

Lambda関数はいいからタグオプションで絞り込みたい人向け

prepare.pyの388行目あたりをコメントアウトすれば、とにかく動く!

“`commands/prepare.py
– # Lambda functions
– for lambda_json in get_lambda_functions(region):
– node = Lambda(region, lambda_json)
– nodes[node.arn] = node
+ # # Lambda functions
+ # for lambda_json in get_la

元記事を表示

Backtrader カスタムインジケーターの作り方

例としてストキャスティクスを作って中身を見てみます。
おおまかな動作イメージを掴んでもらえたら幸いです。

“`python:sto1.py

import backtrader as bt

class MyStochastic1(bt.Indicator): #bt.Indicatorを継承

lines = (‘k’, ‘d’, ) # プロットに表示するlinesオブジェクト
params = (
(‘k_period’, 14), # パラメーターをタプルのタプルで指定する
(‘d_period’, 3), # タプルの最後にもコンマ(、)をいれる
)
plotinfo = dict(plot =True,
subplot=True,
plotname=”,
)

def __init__(self):

highest = bt.

元記事を表示

OTHERカテゴリの最新記事