- 1. Djangoの環境構築手順
- 2. Python小技集 – #1 リスト/タプルから重複要素を削除する方法
- 3. python 関数名 print
- 4. shell2httpを作ってHTTP経由でお手軽にCLIツールを実行する
- 5. matplotlibのsubplotsのcolorbarを共有する
- 6. PIL.Image.Imageをdiscord.Fileに変換したい
- 7. PythonのSeleniumでWebを自動操作する
- 8. Pythonをwsl2-Debianにインストールする
- 9. Python-VLC の使い方
- 10. WindowsのPythonでデスクトップ通知(トースト)作ってみた【WinRT】
- 11. aws-cliとjupyterでAWSサービスのセットアップ
- 12. Tensorflowで自分に合った彼女を探すCNNを実装しようとしてみた~SSDで画像検出!~(第三回)
- 13. Python3_エンジニアデータ分析試験対策_Part1
- 14. Python3: A4横 の PDF を A3 の PDF に変換
- 15. 子供のための単語起こしアプリケーション
- 16. abstract(抽象化) で継承時のメソッドの入れ忘れを無くそう!
- 17. クラス変数とインスタンス変数
- 18. discord.pyでスラッシュコマンドを実装する。
- 19. 日本語Pre-Trained BERTを用いた対話Botの作成
- 20. 【Python】フォルダ内ファイルを一括削除する方法
Djangoの環境構築手順
# 仮想環境作成
Webアプリ開発ではパッケージの依存関係で悩まされることがあるので、プロジェクト毎に仮想環境を構築する。 色々な仮想環境があるが、Pythonで用意されている仮想環境構築ツールを使ってみる。また、Pythonを使ったプロジェクトでは、プロジェクトごとに必要なパッケージが異なる。
あらゆるパッケージをローカルにインストールすると、ごちゃつくので、プロジェクトごとに仮想環境を作って、そのプロジェクトに合致したパッケージのみをインストールして使う。
これによりプロジェクトごとに仮想環境が作成され、パッケージもその仮想環境ごとに管理できる。# 仮想環境作成と有効化、停止
?このコマンドで今いるディレクトリ配下にmyenvディレクトリが作成される。
`python -m venv myenv`
?このコマンドで作った仮想環境を有効化できる
`source myenv/bin/activate`
?うまくいくとユーザー名の左に仮想環境名が表示される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amaz
Python小技集 – #1 リスト/タプルから重複要素を削除する方法
こんにちは!beatbox4108です。
今日は**Pythonでリスト/タプルから重複要素を削除する方法**について説明していきます。
方法は2種類あります。
* setを使う方法
* dictを使う方法
* dict+zip (応用)# setを使う場合
Pythonには重複しない値の集合である`set`があります。
ふつうはこれを使うのが良いでしょう。
“`python3
l=[1,1,2,3,3,3,5,6,6,9,0] # サンプル# setを使う場合
a=list(set(l))
print(“setを使う場合:”,a)
“`“`
setを使う場合: [0, 1, 2, 3, 5, 6, 9]
“`アンパックを使えばもっと簡潔に書けます。
“`python3
l=[1,1,2,3,3,3,5,6,6,9,0] # サンプル# setを使う場合(別解)
b=[*{*l}]
print(“setを使う場合 (別解):”,b)
“`
“`
setを使う場合 (別解): [0, 1, 2, 3, 5, 6, 9]
“`:::note
python 関数名 print
“`py
print(f”{self.__class__.__name__} {inspect.currentframe().f_code.co_name}”)
“`こういうのすぐ出てこない時ある
1行でかけてもっと処理軽くて汎用的にコピペできて短くかけるやつあったら誰か教えてください。
shell2httpを作ってHTTP経由でお手軽にCLIツールを実行する
[shell2http](https://github.com/msoap/shell2http)をsnapで入れると動かず、[Flask-Shell2HTTP](https://github.com/eshaan7/Flask-Shell2HTTP)はファイルを直接弄らないといけないのでPythonで作ってみました。
https://github.com/GitHub30/shell2http
[![Python](https://img.shields.io/pypi/pyversions/shell2http.svg)](https://badge.fury.io/py/shell2http)[![PyPI](https://badge.fury.io/py/shell2http.svg)](https://badge.fury.io/py/shell2http)
# インストール“`bash
pip install shell2http
“`# 使い方
http://localhost:8080/ をブラウザで開くことでコマンドが実行されます。8080は変更可
matplotlibのsubplotsのcolorbarを共有する
## 動機
以下のようなcolorbarを共有したグラフを作成したいものとします.
![subplots-with-cbar.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/355593/2b6055e3-96cc-70e2-7053-f2d8b5752e0a.png)
## 結論
以下のようなコードを利用します.
contourfでcolorbarを生成して最終的にそれをfigに加える形で再現します.
注意点としては,colorbarのスケールが各々異なる場合であっても最終的に表示されるcolorbarはfor文の最後にplotされたものに準拠することです.“`python
import numpy as np
import matplotlib.pyplot as pltplt.rcParams[“font.family”] = “Times New Roman”
plt.rcParams[“font.size”] = 14
plt.rcParams[‘mathtext.fonts
PIL.Image.Imageをdiscord.Fileに変換したい
こんにちはbeatbox4108です。
今回は少しPythonを書いていて躓いた点を覚書程度にまとめましたので見てみてください# TL;DR
:::note
`io.BytesIO`を使おう。
:::
:::note warn
`seek(0)`するのを忘れずにしよう。
:::
# 本文
Pythonで、Discordのスラッシュコマンドに反応して画像を送るbotを作っていた時のこと…**あれ?ファイルに出力しないと送信できなくね?**
この時の環境、クラウド上で容量が結構少なかったのでどうしてもファイルに出力するのは避けたかったんです。
でも**ファイルオブジェクト**かパスじゃないと送信できないし…と、気づいたんです。そうか`BytesIO`介せばいいのか!
ということで書いたこちらのコード、ダメな点が一つありました。
“`python3
# im は PIL.Image.Image
fileio=BytesIO()
image.save(fileio,format=”png”)
await interaction.followup.send(file=d
PythonのSeleniumでWebを自動操作する
Chromeの操作を自動化したくてSelenium4を使ってみました。Selenium4を調べてみると結構機能が多かったので、私が使いそうなものだけ記載してあります。
# インストール
まずSeleniumで使用するChromeをインストールします。
“`bash:
apt install google-chrome-stable
“`次にSelenium4をインストールします。
“`bash:
apt install python3-selenium
“`# ライブラリのインポート
Seleniumのライブラリをインポートします。
“`python:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdri
Pythonをwsl2-Debianにインストールする
Python3(ver. 3.10.6)をwsl2版Debian(ver. 11.3)にインストールした際、遭遇したエラーと対処です。言うほどエラーですかね?
# 最も簡潔と思しき道筋
1. apt で依存関係のパッケージをインストール。パッケージはマニュアルにリストされている。
https://devguide.python.org/getting-started/setup-building/index.html#build-dependencies
2. パッケージをダウンロードして解凍し、“`./configure“`を実行した後、コンパイルしてインストールする。
“`
$ ./configure –enable-optimizations –with-lto –with-ensurepip
$ make -j 8
$ sudo make install
“`
“`make install“`だけ“`sudo“`するのにこだわりはない。インストール先がユーザーローカルではなく、root権限でないと書けない場所なので“`sudo“`で実行した。このような
Python-VLC の使い方
Ubuntu 22.04 でライブラリーのインストール
“`bash
sudo apt install python3-vlc
“`“`py:replay_mp4.py
#! /usr/bin/python
#
import sys
import vlc
import timesys.stderr.write(“*** start ***\n”)
file_mp4 = “./sample-5s.mp4”
media = vlc.MediaPlayer(file_mp4)# start playing video
media.play()loop_forever = True
while loop_forever:
try:
time.sleep(5)
except KeyboardInterrupt:
loop_forever = False
sys.stderr.write(“*** interrupted ***\n”)
#
sys.stderr.write(“*** end ***\n”)
“`mp4 ファイルはこちらからサン
WindowsのPythonでデスクトップ通知(トースト)作ってみた【WinRT】
win10toastを使っているのですがWin32のため、WinRTで実装してみました。シングルファイルモジュールで作ってみました。
https://github.com/GitHub30/win11toast
[![Python](https://img.shields.io/pypi/pyversions/win11toast.svg)](https://badge.fury.io/py/win11toast)[![PyPI](https://badge.fury.io/py/win11toast.svg)](https://badge.fury.io/py/win11toast)
## インストール“`bash
pip install win11toast
“`## 使い方
“`python
from win11toast import toasttoast(‘Hello Python?’)
“`![image](https://user-images.githubusercontent.com/12811398/183365362-dd163b1d
aws-cliとjupyterでAWSサービスのセットアップ
システムセットアップを簡単にするための全ての設定
# 環境
・MacBook Pro
・macOS Mnterey 12.5
・Apple M1 Max## 1.AWS/IAM
AWSのIAMから、今回のjupyterでアクセスできる権限を持ったIAMユーザーを作成し、アクセスキーとシークレットアクセスキーを入手する。
そのキーの取り扱いには十分に注意する。## 2.local/仮想環境の作成
仮想環境で実行するのがおすすめ。
Miniforge3+condaで作成しているので、 `conda acrivate hoge` という形で環境に入る。### モジュールのインストール
`pip install awscli`## 3.cliの設定
`aws configure –profile hoge`
AWS Access Key ID [None]: `{アクセスキー(各自)}`
AWS Secret Access Key [None]: `{シークレットアクセスキー(各自)}`
Default region name [None]: `{us-west-2(←オレ
Tensorflowで自分に合った彼女を探すCNNを実装しようとしてみた~SSDで画像検出!~(第三回)
# 目的
前回、顔をタイプ分けしてみたいなことをしてきました!!今回は最初に試してた写真全体から雰囲気を決定するみたいなのを試してみようと思いました!!
# 試したこと
#### 1 OpenCVのfullbody検知機?で人物を切り抜いてみる!
最初は、前回の顔切り抜きを応用して、全身の画像を切り抜いてしまおう!と試してみました!
“`python:変更点
IMG_FILE = “haarcascade_frontalface_default.xml”
-> “haarcascade_fullbody.xml”
“`
結果から言うと、うまくいきませんでした笑なんか、とりあえず長方形に色々切り抜いてくれて…
あいにく、原因がわかるほどの知識はありませんが、とりあえず別の方法を試してみようと…#### 2 マスク作って、切り抜く!!
[このサイト](http://www.otupy.net/archives/39235274.html)で、クロちゃんを切り抜くために、OpenCVのブラーを使って、こう、明るい、暗いみたいな感じでのマスクを作っていく方法をみてみたのです
Python3_エンジニアデータ分析試験対策_Part1
本記事は、Python3エンジニア認定データ分析試験におけるチートシート作成を目的としています。
本試験の概要や出題範囲は下記サイトをご確認ください。
チートシートは随時更新していきます。https://cbt.odyssey-com.co.jp/pythonic-exam.html
また本内容は、PRIME STUDYのデータ分析試験対策模試を参考に作成しています。
本内容にて予習後、下記テストを受けることをお勧めします。https://study.prime-strategy.co.jp/
# 1. データエンジニアの役割
## 1.1 Pythonについて
Pythonは、データ分析が得意。
機械学習やディープラーニングでもよく利用されている。
Pythonの特徴と苦手分野は以下。### 1.1.1 Pythonの特徴
プログラムのルールや文法がシンプル
標準ライブラリと外部のパッケージが豊富
データ分析以外にも、幅広い用途で活用できる
オープンソースとして提供されている### 1.1.2 Pythonの苦手分野
Webデザイン
ゲーム開発など、高速な処理が
Python3: A4横 の PDF を A3 の PDF に変換
“`py:pdf_a4_a3_landscape.py
#! /usr/bin/python3
#
# pdf_a4_a3_landscape.py
#
# Aug/08/2022
#
import sys
import PyPDF2
#
# ——————————————————————
def pdf_merge_proc(pdf_reader1):
pages= pdf_reader1.getNumPages()
nn_out = int((pages + 1) / 2)
sys.stderr.write(“pages = %d\n” % pages)
sys.stderr.write(“nn_out = %d\n” % nn_out)
#
pdf_writer = PyPDF2.PdfFileWriter()
#
for icount in range(nn_out):
it = icount * 2
page_obj_a = pdf_reader1.g
子供のための単語起こしアプリケーション
# 1.はじめに
将来子供が出来たとき仕事の傍ら教育にも力を入れていきたいと思っており、教育用アプリケーションの作成を考えています。
そのため簡単な英単語(言語はどれでもいい)をキーボード上のキーで入力することで、単語を出力してより優しく理解していただけたらいいなと思います。# 2.手順
## (1)keycode(キーコード)を確認する
キーボード上のキーには、それに対応するコードがあります。
このアプリケーションの作成に当たっては、キーコードが非常に重要になります。
(最初はkeycodeではなく、keysymで試しましたが、keycodeのほうがスムーズに作業が行えました。)
例えば、「A」キーは「65」、「C」キーは「67」となる。下のURLを参考にしました
http://faq.creasus.net/04/0131/CharCode.html
## (2)キーコードに対応するテキストを表示するには
“`
buffer = tkinter.StringVar()
変数 = buffer.set(文字列)
“`
キーコードに対応する文字を出力するには、
abstract(抽象化) で継承時のメソッドの入れ忘れを無くそう!
# 以下の2つのクラスを作ると想定します。
“`Python
class Calc1():
def calc(self, a, b):
c = a + b
return cclass Calc2():
def calc(self, a, b):
c = a – b
return c
“`次のように使う予定です。
“`Python
l = [Calc1(), Calc2(), Calc1(), Calc2()]for calc in l:
print(calc.calc())
“`こういった使い方をする場合、2つのクラスには `calc()` メソッドが必須です。
しかし久しぶりに新しい `Calc3` クラスを作る際、`calc` の実装を忘れてしまうかもしれません。
単純なプログラムならエラーを見てすぐに実装を忘れていたことに気付けるかもしれませんが、なるべく想定外の事態は避けたいです。
そんなときには `abstract` を使いましょう!
# abstrac
クラス変数とインスタンス変数
# クラス変数とインスタンス変数
“`Python
class A():
hoge = ‘HOGE’
def __init__(self):
self.fuga = ‘FUGA’
“``hoge` がクラス変数で、 `fuga` がインスタンス変数。
# インスタンス変数を変更するには?
“`Python
class A():
def __init__(self):
self.fuga = ‘FUGA’def set_fuga(self, value):
self.fuga = valuedef print_fuga(self):
print(self.fuga)a = A()
a2 = A()
a.print_fuga() # >>> FUGAa.set_fuga(‘FUGA2’)
# または
a.fuga = ‘FUGA2’a.print_fuga() # >>> FUGA2
a2.print_fuga() # >>> FUGA
discord.pyでスラッシュコマンドを実装する。
こんにちは。beatbox4108です。
今日は、Discord.py 2.0.0で実装予定のスラッシュコマンドを実際に触ってみて説明したいと思います。
今の所まだ自分がコマンドグループについて理解していないのでそれについての説明はしません。
# Discord.pyのインストール
今の所まだPyPIにはリリースされていないのでgit経由でインストールします。
“`bash
$ pip install git+https://github.com/Rapptz/discord.py.git
“`# 早速触ってみる
スラッシュコマンドの実装方法は数種類ありますが、今回は`CommandTree`を使った方法で実装します。
“`python3
import discord
import discord.app_commandstoken = “” #Your TOKEN
client = discord.Client()
tree = discord.app_commands.CommandTree(client) #←ココ@client.event
async d
日本語Pre-Trained BERTを用いた対話Botの作成
この頃機会があったので、私が過去に練習目的で書いた、日本語BERTを使ったAttention付きSeq2Seqモデルのソースコード群をまとめてみました。
練習目的なので性能は推して知るべしですが、同じようなことをされたい方の一助になればと思います。作成したソースコード、モデルパラメータ、N-gram言語モデルはGitHubにて公開しています。
リンクは記事のまとめに記載しています。# 目次
1. **概要**
1. **環境構築・事前準備**
2.1. 日本語BERTの準備
2.2. 各ライブラリのインストール
2.2.1. Juman++ のインストール
2.2.2. KenLM のインストール
2.3. N-gram言語モデルの構築
2.4. 学習データの作成
2.4.1. 学習データからの未知語除去
1. **モデル構造**
1. **ソースコード**
4.1. Encoder
4.2. Attenstion
4.3. Decoder
4.4. Model synthesize
4.5. Dataloader
4.6. Scorer
4.
【Python】フォルダ内ファイルを一括削除する方法
会社業務で提出物を一括ダウンロードするツールを作成しており、
古いファイルが邪魔でダウンロードフォルダからワークフォルダに移動時にエラーが
でたので、その対応で古いファイルがあったら削除する処理を作成しましたので、
ここにまとめます。## 処理内容
1. ワークフォルダを確認
2. ファイルが存在したら削除## 1, ワークフォルダを確認
今回使うモジュールは、pathlibです。
ファイル削除だけでなく、ディレクトリ作成、削除などもできるので、
OS処理をPythonで実行するならpathlibを使用するのが良いかと。osでも良いかと思いますがPython3で書くならpathlibかと。
“`python
import pathlibcheck_dir = pathlib.Path(“対象フォルダパス”) # 対象フォルダパスを変数に格納
for file in check_dir.iterdir(): # check_dir内をlsして1ファイルずつファイル名を取得
print(file.name)“`
上記で対象フォルダ内にある不要ファイ