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

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

【Python3, Kali Linux】情報セキュリティマネジメント入門

## Wing IDEの起動

“`
wing-personal7.2
“`

## urlibを使ってデータを取得・保存

“`python
import urllib.request

url = “
imagefile = “hoge.jpg”
urllib.request.urlretrieve(url, imagefile)
“`

## Kali Linuxのネットワーク設定変更とpingの実行

VMの設定を“Bridged Adapter“に変更

“`
ping
“`

## tracerouteの実行

Firewallの存在を検知

“`
traceroute
“`

## nmapによるポートスキャン

“`
nmap -20 # 20台分スキャン
“`

## TCPクライアント

“`python
import socket

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #(アドレス定義, 通信方式

元記事を表示

Python航空機開発ライブラリIAEAを作成し始めた。ー第1章ー

#航空機開発ライブラリIAEA
##はじめに
 初めまして新卒1年目エンジニアのmuratatatsuroです。これは、航空機を愛し、電動化に憧れ、自律・自動運転に取り憑かれ、pythonと最適化に漬けられた男による航空機開発ライブラリ(OSSにしたい)を構築するまでの1~2年間(おそらくそれくらいで出来るんじゃないかと思ってる)に渡る奮闘記の序章である。Learn or Die!!

##作ろうと思った経緯
 大学院時代に電動化航空機と呼ばれる電気で駆動する航空機の概念設計と最適化について研究を行なっていた。しかし、大学院時代までは、統合設計とは名ばかりのエンジン最適化のみを行なっていたため、航空機も含めた最適化と設計ツールを作成し、他の人にも新時代を担う航空機に簡単に触れる環境を構築し、興味を持ってもらいたかった。これに加えて、自律走行や自動運転に興味があり、実際に設計した航空機(特にスモールスケールのもの)に対してシミュレーションレベルでの最適路探索を体験し、設計から運用シミュレーションまでの一気通貫の概念設計環境があったら面白いんではないかと考えた。

##ライブラリの概要
 

元記事を表示

調整さんに入力する文字列をPythonで自動生成してみた

恒例のクソコード

#調整さんの入力は結構面倒

ご存知[調整さん](https://chouseisan.com/)は複数人での日程調整に便利なオンラインツールですが、候補日程を全部手書きするとなかなかな手間です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/218242/f39652d4-002e-beaf-6ace-24e712ae654a.png)
例えば候補日を「5/20~29の10日間」、時間帯も各日3つずつ候補があったりすると手で入力するのはなかなか大変なので自動化しました。

#Python
内容はコメントしてるとおりです

“`Python:chousei.py
# Python3
import datetime
import locale

date = datetime.datetime(2020, 5, 18) #候補日初日(西暦年,月,日)
days = 10 #候補日数(最初の日-最後の日)
arg=[“9:00~12:00”, “12:00~15:00”

元記事を表示

Nuxt&Django REST Framework構築マニュアル POST編

# 概要

フロント:Nuxt
バックエンド:Django REST Framework(以下DRF)
で新しいプロジェクトなどを立ち上げた時に設定などをいちいち調べるのがめんどくさくなったため、まとめておきます。

ただ、設定ファイルだけを書くのでは個人的に記事として物足りない。

なので、ついでに基本的な操作であるAPIを叩いてCRUDを行い、会員登録を実装するところまで書く予定です。
なお、今回はDBはSQLiteを使います。PostgreSQLやMySQLなど他のRDBが使いたい場合はDRF側のDBの設定を書きかえるだけなので、そちらの設定は各自よろしくお願いいたします。

ひとまずこの記事では、NuxtからDRFで作ったAPIを叩いてデータベースにフォームに入力した内容をPOSTするところまでです。

ソースコードは[こちら](https://github.com/Kuehar/nuxt-django)にあるのでわからないところは適宜見てください。

また、[Twitter](https://twitter.com/kueharx)かこの記事のコメント欄でわからないところを聞

元記事を表示

BERTの精度を向上させる手法10選

## はじめに
自然言語処理タスクでBERTをfinetuningして使うことが当たり前になってきました。Kaggleなどのコンペや精度要件がきつい案件を行う場合に少しでも精度を向上させたいというシーンが増えてくると考えられます。そこで、精度向上手法をまとめます。タスクとしては分類タスクを想定しています。

## 文字数調整
学習済みのBERTに入力可能な単語数は最大512個です。そのため、512単語以上のテキストを使用する場合は特別な工夫が必要となります。ここの処理方法の変更が精度向上に寄与することが多いので要チェックです。

例として次のテキストから6単語取得することを考えます(句点も1単語とします)
`吾輩 / は / 猫 / で / ある / 。 / 名前 / は / まだ / ない / 。`

### 1. Head-Tail
`吾輩 / は / 猫` / で / ある / 。 / 名前 / は / `まだ / ない / 。`

[How to Fine-tune BERT for Text Classification][how_to_bert]より。先頭と最後尾、両方から

元記事を表示

リストのメソッド

“`python
r = [1, 2, 3, 4, 5, 1, 2, 3]
#r=[0, 1, 2, 3, 4, 5, 6, 7]
print(r.index(3))
print(r.index(3, 3))
print(r.count)

r.sort()
print(r)

r.sort(reverse=True)
print(r)

r.reverse()
print(r)
“`

出力
2
7
2
[1, 1, 2, 2, 3, 3, 4, 5]
[5, 4, 3, 3, 2, 2, 1, 1]
[1, 1, 2, 2, 3, 3, 4, 5]

“`python
s = ‘My name is halu.’
to_split = s.split(‘ ‘)
print(to_split)

x = ‘#’.join(to_split)
print(x)
“`

[‘My’, ‘name’, ‘is’, ‘halu.’]
My#name#is#halu.

元記事を表示

AWS EC2でcentosのAMIを使用する(python3/ffmpeg/dav2fsインストール)

# はじめに

これまで、AWS EC2をお試しする際、AmazonLinux2ばかりを利用していましたが、極力一般的なパッケージ導入や手順を使いたく、CentOSを導入してみました。

なぜCentOSかというと、仕事ではRedhatLinuxも扱うこともあったり、AmazonLinux2も触ることを考え、OSとして類似のものがよいだろう・・・。という理由です。

# 導入

まずはAMIから素のOSを起動するのですが、CentOSのサイトにも最新のAMI情報がはっきり書いてありません・・・。

先人のお知恵を拝借し、AWS CLIで確認します。

“`
aws ec2 describe-images –owners aws-marketplace \
–filters Name=product-code,Values=aw0evgkw8e5c1q413zgy5pjce \
–query “reverse(sort_by(Images, &CreationDate))[:5].[CreationDate, Description, ImageId]” \
–region a

元記事を表示

Pythonで浮動小数点数を2進数に変換する方法

最近,表題の件で相談を受けることがしばしばありましたので,[Pythonのテキスト](https://qiita.com/KatsunoriNakamura/items/b465b0cf05b1b7fd4975)からの抜粋を上げておきます.
 
原理自体はどこの学校でも教わるのですが,実際にプログラムを書くとなると面倒に感じる方もおられると思います.
 
Pythonのmpmathライブラリを使用すると,とても簡単に,しかも高精度で浮動小数点数を2進数表現にすることができます.
 
[→抜粋部分(PDF)](http://www.k-techlabo.org/www_python/DEC2BIN.pdf)

元記事を表示

Pyenvでアクティブなバージョンをanacondaから普通のPythonに変更する

## これまでの成り行き
最初にPythonに触れるときAnacondaを使う人も多いと思います。しかしAnacondaは環境を破壊するなど諸説あり、(参照: [Pythonインストール方法とAnacondaを使わない3つの理由](https://watlab-blog.com/2019/04/06/python-install/))やっぱり使うのはやめてGoogle colabなどに乗り換える人も多いと思います。
その時にアクティブなPythonのバージョンを切り替える必要があって、その手順がちょっと複雑だったので書いておきます。

## 結論
[glocalコマンドを用います。](#glocalコマンドでバージョンを切り替える)
切り替え先のPythonのバージョンがわかっていない場合は

“`
$ pyenv versions
“`
で現在のバージョンと切り替えたいバージョンを確認してから

“`
$ pyenv global (切り替え先のバージョン名)
“`
です。
「現在のバージョンとはなんぞや?」という人は順番に読み進めてもらえればと思います。

## インスト

元記事を表示

ゼロから始めるLeetCode Day25「70. Climbing Stairs」

#概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

その対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイト。

せっかくだし人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetCode Day24 「21. Merge Two Sorted Lists」](https://qiita.com/KueharX/items/7112e8bd9dbf69f5c083)

基本的にeasyのacceptanceが高い順から解いていこうか

元記事を表示

DockerでPython 3.8用のpsutilをインストールしてみた

# 動機
ことの始まりはとある先輩からのオーダー。。。
「最新のpyhon3系で動かしているlambdaのメモリ容量取得するようなコードかいてよ。」

よっしわかったよ。
クソ野郎やってやろうじゃないかと意気込んでLambdaの最新のpython3系のランタイムをみたら、、、
python3.8…..になってた。えっ、、、いつのまに3.8に。。。。

ということでpyrhon3.8かつamazonlinux2(Lambdaの実行環境がamazonlinuxとのことなので)で
インストールした外部ライブラリが必要になった。。。

# Dockerファイル
さくっとPython外部ライブラリを準備したかったのでDocker使いました。
Docker for Macです。

python3.8をインストールするために作成したDockerファイルは下記の通り

“`Dockerfile
FROM amazonlinux:2

RUN yum -y update
RUN yum -y install gcc openssl-devel bzip2-devel libffi-devel

元記事を表示

画像処理100ノック Q.6. 減色処理 解説

[画像処理100ノック](https://github.com/yoyoyo-yo/Gasyori100knock/tree/master/Question_01_10)Q.6. 減色処理についての解説記事です。

減色処理は、R(赤),G(緑),B(青)それぞれのとりうる値の種類を限定します。それにより、表現できる色が減ります。

本題ではR,G,Bが各256種類の値(0~255)を取れていたものを、各4種類の値(32,96,160,224)に減らすように指示されています。

元記事ではこちらの処理によって、減色処理を行っています。(下記)

“`python
def dicrease_color(img):
out = img.copy()
out = out // 64 * 64 + 32
return out
“`
思っていたより処理が少なくてびっくりしました。この関数の下記の部分のコードで減色処理を行っています。

“`python
out = out // 64 * 64 + 32
“`
この64と言う数字は256(0~255)を4で割った値

元記事を表示

SIQR モデルの表示

次のモデルに SIQR を適用してみました。
[SIR モデルの日本語表示 (その 2)](https://qiita.com/ekzemplaro/items/e40049dec177993252f0)

“`py:siqr02.py
#! /usr/bin/python
#
# siqr02.py
#
# May/14/2020
# ——————————————————————
import matplotlib.pyplot as plt
import numpy as np
from scipy.integrate import odeint
from scipy.optimize import minimize
import sys

# ——————————————————————
def SIQR_EQ(v, t, beta, gamma, p_kakuri):
q_kakuri =

元記事を表示

Nuxt&Django REST Framework構築マニュアル GET編②

# 概要

# 概要

フロント:Nuxt
バックエンド:Django REST Framework(以下DRF)
で新しいプロジェクトなどを立ち上げた時に設定などをいちいち調べるのがめんどくさくなったため、まとめておきます。

ただ、設定ファイルだけを書くのでは個人的に記事として物足りない。

なので、ついでに基本的な操作であるAPIを叩いてCRUDを行い、会員登録を実装するところまで書く予定です。
なお、今回はDBはSQLiteを使います。PostgreSQLやMySQLなど他のRDBが使いたい場合はDRF側のDBの設定を書きかえるだけなので、そちらの設定は各自よろしくお願いいたします。

この記事では、NuxtからDRFで作ったAPIを叩いてデータベースのから情報を取得、詳細な情報をクライアントサイドで表示させるところまでです。

ソースコードは[こちら](https://github.com/Kuehar/nuxt-django)にあるのでわからないところは適宜見てください。

また、[Twitter](https://twitter.com/kueharx)かこの記事のコメン

元記事を表示

Django Girlsのデプロイで躓いたところのメモ

pythonanywhereのコンソールで、「python manage.py createsuperuser」を実行するとSyntaxErrorに。
![synerr.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616103/7bd07dd3-54e9-60b6-3a65-1f443eb54db1.png)

調べてみると、どうやらPython2で実行されてしまったため上記のエラーが出るらしい。

![py3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616103/e4d88f76-c703-cf65-d075-3736ebcac40d.png)

頭をpython3に置き換えてあげればOK。

元記事を表示

Pythonで簡単にお洒落な表を作成してみない?

# Pythonって便利
Pythonって便利です.
グラフはmatplotlibで簡単に作れるし,数値計算もnumpyがあれば事足りる.
最近は機械学習系の研究に使われたり,なんならゲームなんかも作れちゃうPython.

そんなとき,私は「Pythonで図は作れるけど表も作れるんだろうか?」とふと疑問を抱いた.

# matplotlib
答えはここにあった.
どうやらmatplotlibには表を作成するための関数があるらしい.
書くならばこんな感じ.

“`python
import matplotlib.pyplot as plt
import pandas as pd

if __name__ == ‘__main__’:
data = {
‘a’: [1.0, 2.1, 3.5, ‘-‘, 2.0, 1.0, 2.1, 3.5, 4.0, 2.0, ],
‘b’: [5.7, 6.1, 7.2, 8.3, 1.2, 5.7, 6.1, 7.2, 8.3, ‘-‘, ],
}

df = pd.DataFra

元記事を表示

[Raspbian] python3 + eog で画像表示!

ラズパイ初心者のまおです★

ラズパイでpythonスクリプトで計算した値を読んで画像を表示することにめちゃ苦戦したので、簡単にpythonスクリプトで画像を表示する方法紹介します?

##挑戦したこと
– Raspbianでpythonスクリプトを実行して画像を表示したかったのでopencvやpillowライブラリなどで画像表示スクリプトを書いてみたが、画像ビューワーがうまく動かなかった
– shellの方ではeogコマンド(GUI環境で画像ファイルを表示するコマンド)で簡単に画像表示できた
– pythonスクリプトでeogコマンド(shellコマンド)が使えれば楽勝なのに!!!!

## Python3でsubprocessライブラリを使う★

そこでpythonスクリプトで他のプロセスを呼び出すsubprocessライブラリを使うことにしました!
subprocessの[公式ドキュメント](https://docs.python.org/ja/3/library/subprocess.html)もぜひチェキしてください!
それでは、pythonのsubprocessでeogコマ

元記事を表示

簡単な SIQR モデルの表示

SIR モデルを改良した SIQR モデルを表示してみました。
次の記事を元にしました。
[新型コロナウイルスの蔓延に関する一考察](http://mercury.yukawa.kyoto-u.ac.jp/~bussei.kenkyu/wp/wp-content/uploads/2020-082101.pdf)

隔離率 0.0 の場合
![siqr_may1401.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/adbacd8a-cea1-b97f-f6a4-377f42983301.png)

隔離率 0.1 の場合
![siqr_may1402.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/64dfbac7-6d7b-b952-5fe5-a9a72a38ed67.png)

“`py:siqr01.py
#! /usr/bin/python
#
# siqr01.py
#
#

元記事を表示

Colab Proを2ヶ月ほど使ってのメモ(良い点 / イマイチな点)

# Google Colaboratoryとは
ブラウザー上でPythonコードを書いて実行できる無料のJupyter Notebook環境です。
使用制限はありますがGPUも使えます。

# Colab Pro
Google Colaboratoryの有料版($9.99/月)です。通常版に比べて色々なメリットがあります。
今のところ米国限定(契約には米国の住所とクレジットカードが必要)。

米国に住んでいるのでせっかくなのでColab Proをロンチと同時に契約しました。2ヶ月ほど使って大体の感触がつかめて来たので、ノウハウをメモとして残しておきます。[公式の文面](https://colab.research.google.com/signup)を元に、使ってみた実際のところについて(N=1ですが)書きます。

**2020年5月13日時点の情報です。**
このサービスはリソース保証型ではないので、ユーザに割り当てられる資源が動的に変わります。なので時期が違ったり、地域が違ったりすると全く参考にならない情報になり得ます(日本でサービスが開始になった場合など)。ご注意ください。

#

元記事を表示

Gdalのインストールとコマンドによる利用例

## はじめに
 conda環境でのGdalのインストールに戸惑ったのでメモします。

## 環境
OS: Ubuntu 18.04.4 LTS
python: 3.7 (conda)

##インストール方法
検索すると多くの方法がありますが、色々試した結果、 公式ページの[こちら](https://anaconda.org/conda-forge/gdal)が確実でした。(当たり前ですが。)

“`python
conda install -c conda-forge gdal
“`
動作確認。

“`python
(py37) :~$ python
Python 3.7.7 (default, Mar 26 2020, 15:48:22)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> from osgeo import gdal
>>>

“`

## gdalのコマンド利用
gdalのコ

元記事を表示

OTHERカテゴリの最新記事