- 1. コマンドプロンプトで実行するPythonスクリプトにおけるANSIカラーの出力
- 2. Gradioとは? Pythonで機械学習Webアプリケーションをサクッと作ろう!
- 3. TelloConsole ビギナーガイド:Python の環境構築
- 4. TelloConsole ビギナーガイド:サンプルコードの実行
- 5. 【スクレイピング】Seleniumを使用したブラウザ操作自動化
- 6. 【解決法】ModuleNotFoundError: No module named ‘chromedriver_binary’
- 7. ブロックチェーンを実装してみた & 改ざんを試みた
- 8. AtCoderでよく使いそうな関数メモ
- 9. Flaskで立てたサーバーが外部からアクセスできない場合に確認すべきこと
- 10. 【解決法】Error: pg_config executable not found.
- 11. Python(3.10.7)をWindowsにインスコするの巻
- 12. Python & ビット演算でドドスコしてみた
- 13. 【Pytorch】MNISTのGAN(敵対的生成ネットワーク)を実装する
- 14. pythonで対数グラフ(それと聴覚閾値)
- 15. マイク入力音声をリアルタイムでFFTしてグラフ化する
- 16. Flaskアプリケーションのセッション問題
- 17. [Python][Tips] 処理時間の計測
- 18. Tello SDK を自分なりに最適化してみた(Tello-Console)
- 19. [Python][Tips] さくっと現在日時を取得したい場合
- 20. YDITS for Twitter/Discordの制作
コマンドプロンプトで実行するPythonスクリプトにおけるANSIカラーの出力
WindowsのコマンドプロンプトでPythonのスクリプトを実行し,コンソールへの出力に色を付けたり太字にしたりする方法です.
# 短いサンプルコード
“`py
import os
os.system(”)
print(‘\033[31mRed\033[0m’)
“`コンソールへの出力は次のとおりです(サンプルコードをmain.pyとして実行):
![foo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425475/46333304-4d9e-344b-c139-9a825bb0ff36.png)# 解説
サンプルコード2行目の`os.system(”)`は引数のコマンドをサブシェルにて実行します[1].Windowsの場合通常はコマンドプロンプトです.引数が`”`のため単にサンプルコードのプロセス上で機能し始めるだけです.
PythonインタプリタはANSIエスケープシーケンスの処理を有効にしないので`os.system(”)`を使用してください[2][3].# 補足
Gradioとは? Pythonで機械学習Webアプリケーションをサクッと作ろう!
## Gradioとは
![スクリーンショット-2022-10-03-13.37.09-2048×996.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171715/3dd81571-d2d4-3fad-984e-98aeeaa173af.png)
[Gradio](https://gradio.app/)とは、機械学習モデルのデモを行うWebアプリケーションを簡単に作ることができるPythonのライブラリーです。
この記事では解説致しませんが、Gradioで作成したWebアプリケーションは、[HuggingFace](https://huggingface.co/)の[Spaces](https://huggingface.co/spaces)でアプリを公開することができます。(現時点では、Gradio以外にも、[Streamlit](https://streamlit.io/)をサポートしています。Gradioの公式ページより、デモアプリケーションを確認できます。
![スクリーンショット-
TelloConsole ビギナーガイド:Python の環境構築
# Tello Console を始めるための環境を構築する
このサイトは、Tello Console の環境を構築する方法を記述します。python、tello プログラミング初心者向けとなります。
ここでは、python を使って tello ドローンをプログラミングするまでに必要な環境を構築します。tello、TelloConsoleについて詳しく知りたい方は、[こちらの**Tello SDK を自分なりに最適化してみた(Tello-Console)**](https://qiita.com/GAI-313/items/7ff5bece03e9173678fb)を参照してください。
気をつけてほしいのが、使用しているPC の応じて環境構築の方法が異なります。そのため Widows、macOS、Ubuntu での環境構築方法をセクションを分けて記述します。
**注意:ここでいう Python は、Python 3 のことを指します。**
– [Tello Console を始めるための環境を構築する](#tello-console-を始めるための環境を構
TelloConsole ビギナーガイド:サンプルコードの実行
# Tello Console をのサンプルコードを実行する
この記事は、**TelloConsole チュートリアル第2項**となります。初めてこの記事を見られた方、もしくは Python の環境をお持ちでない方は **[Tello Console を始めるための環境を構築する](https://qiita.com/GAI-313/items/ead355cb552d13405cc9)** を参照してください。この記事では、TelloConsole をダウンロードして実際に Tello をサンプルコードで飛ばしてみます。この記事は初心者向けに作成されています。
前提として、Tello EDU を用意してください。Tello EDU は[こちら](https://store.dji.com/jp/product/tello-edu?set_region=JP&vid=47091)で購入できます。## TelloConsole をダウンロードする
TelloConsole は、[GitHub](https://github.com/GAI-313/Tello-Conso
【スクレイピング】Seleniumを使用したブラウザ操作自動化
# はじめに
– **Seleniumとは**
– Webブラウザの操作を自動化するためのフレームワーク# 0. 前提
– Pythonをインストールしていることhttps://qiita.com/rexid/items/8b2f0dd4f7ca03c13a7a
# 1. ファイルを準備
– Selenium用のフォルダ及びファイルを作成(なんでも良いです)
– VSCodeなどのエディタで開いておく“`terminal:例
(base) sample@SampleMBP ~ % cd Desktop
(base) sample@SampleMBP Desktop % mkdir Selenium
(base) sample@SampleMBP Desktop % cd Selenium
(base) sample@SampleMBP Desktop % touch sample.py
(base) sample@SampleMBP Selenium % pwd
/Users/username/Desktop/Selenium
(base) sampl
【解決法】ModuleNotFoundError: No module named ‘chromedriver_binary’
– ファイル実行
“`terminal
$ python3 ファイル名
“`– 失敗
“`terminal:例
sample@SampleMBP Selenium % python3 sample.py
Traceback (most recent call last):
File “/Users/username/Desktop/Selenium/sample.py”, line 1, in
import chromedriver_binary
ModuleNotFoundError: No module named ‘chromedriver_binary’
“``chromedriver_binaryが見つからんぞ。`と。
# 解決までの手順
## 1. ブラウザ上でChromeのバージョンを確認
ツールバーから「GoogleChromeについて」をクリック
![スクリーンショット 2022-10-02 19.15.07.png](https://qiita-image-store.s3.ap-northeast-1.am
ブロックチェーンを実装してみた & 改ざんを試みた
# はじめに
最近、Web3に関するツイートやニュースの中でも、Non-Fungible Token (NFT)を目にすることが多い。
NFTはブロックチェーンに基づいた技術で、その改ざん不可能性が肝となっているらしい。
以前からブロックチェーンの改ざん不可能性については知っていたものの、
– なぜ改ざんが不可能なのか
– 改ざんを試みると、どうなるのかといった疑問が残っていた。
今回は、これらの疑問を解決すべく、自分でブロックチェーンを実装し、送金データの投入を行う。更に、送金データの改ざんを試みることで、さらなる理解を目指す。# ブロックチェーン
ブロックチェーンは、hash値、data、nonceで構成される「ブロック」がつながったものである。
データを読み取る時は、各ブロックが持っているdataを読み取るのみでよい。
競合する複数のブロックチェーンが存在した時、つながっているブロック数が最大のもののみを信用する。### hash値
なんらかのデータをhash化することによって得られた値。
“`math
h = H(d)
“`
ここで$h$,$H$,$d$はそ
AtCoderでよく使いそうな関数メモ
# この記事は何?
AtCoderでよく使いそうな関数たちをまとめた記事です。# 記事を作成した背景
AtCoder挑戦時に毎回検索して時間を使っているなぁ。。。
-> 関数をまとめて記事にしておいたら自分に必要な関数だけ参照できるのでは?
-> 関数まとめた記事を書いて、辞書みたいに使おう!# 入力を受け取りたい
AtCoderの入力パターンは下記かな、という認識です。
1. 入力値が1つだけある
– `10`など
1. 入力値がスペース区切りで複数ある
– `1 2 3`など## 1. 入力値が1つだけある
### 例:文字列として入力を取得
“`python: 入力に「test」が与えられる
x = input()
print(x)
# -> test
“`
### 例:数値として入力を取得
“`python: 入力に「10」が与えられる
# intで型変換をする
x = int(input())
print(x)
# -> 10
“`## 2. 入力値がスペース区切りで複数ある
### 例:文字列として入力を取得
“`python: 入
Flaskで立てたサーバーが外部からアクセスできない場合に確認すべきこと
# 外部からアクセスできない場合に確認すべきこと
flaskでサーバーを立ち上げたときにlocalhostからは通信が可能だが、外部から通信ができない場合に確認すべきことについてまとめました。先日ひどいめにあったので。
flask関係なく通信エラー時に確認すべきことも含みます。## サンプル
一番シンプルなサンプルコードを載せます。
flaskコマンドではなくpython側で実行してるので、flaskコマンド使用者はうまく読み替えてください。
問題ない方はここは読み飛ばしても構いません。“`python
from flask import Flaskapp = Flask(__name__)
@app.route(“/”)
def hello_world():
return “Hello, World!
”
def main():
app.run()if __name__ == ‘__main__’:
main()
“`こちら実行すると、以下のような出力になります。アクセス時の出力も出てます。
“`she
【解決法】Error: pg_config executable not found.
# エラー対処
ライブラリインストール時のエラーを書き留めておきます
### 事前準備
“`terminal
$ cd ~/対象プロジェクトまでのpath
$ python -m venv env # pythonの実行環境を仮想的に作成(envは名称なので任意でOK)
$ . env/bin/activate # 作成した仮想環境のバッチを実行し、仮想環境への切り替えを行う
“`
“`requirements.txt
省略
psycopg2==2.9.3
“`### エラー発生
“`terminal
$ pip install -r requirements.txt # 一括でライブラリをインストール
“`“`terminal:terminal
(env) (base) sample@SampleMBP 対象プロジェクト % pip install -r requirements.txt
Collecting asgiref==3.2.10
Using cached asgiref-3.2.10-py3-none-any.whl (19 kB)
Col
Python(3.10.7)をWindowsにインスコするの巻
## はじめに…
Pythonの入れ方を細かく説明したつもりです
わからないとこあったらコメントしてネ## とりあえずダウンロードします
公式サイトから最新バージョンをインストールしますhttps://www.python.org/downloads/
リンクに飛んで Download Python 1.10.7を押す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004944/bda4cb9e-0f29-996c-020a-276a22523425.png)## インスコする
ダウンロードしたインストーラーを開く出てきたら Add Python 3.10 to PATHにチェックを入れる **※絶対**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004944/82a5ac12-89ad-01bb-d526-7cbfd120eba2.png)
入れたらCus
Python & ビット演算でドドスコしてみた
# 今更ドドスコ
こちらが話題になっていた2022年の夏、コロナに罹ってダウンしていたところ完全に乗り遅れてしまったので今更ながらやってみました。
リプで配列を使った例はよく見かけたので今回はPythonのビット演算で実装してみることにします。【問題】配列{"ドド","スコ"}からランダムに要素を標準出力し続け、『その並びが「ドドスコスコスコ」を3回繰り返したもの』に一致したときに「ラブ注入♡」と標準出力して終了するプログラムを作成せよ(配点:5点)
— ((?++)) (@Sheeeeepla) August 1, 2022
# やってみた
コードはこんな感じ。
“`python:ddsk.py
import randombuffer = 0
while True:
buffer = buffer << 1 & 4095 if random.getrandbits(1): buffer |= 1 print("ドド", end="") else: print("スコ", end="") if buffer == 2184: print("ラブ注入♡") bre
【Pytorch】MNISTのGAN(敵対的生成ネットワーク)を実装する
# はじめに
本記事のコードは以下のnotebookに記載されています。
外部データなど不要ですので、とりあえずGANを動かしてみたいという方は是非触ってみてください。
https://colab.research.google.com/drive/1TQWMTNDbqLQ0dWo4-rFz1mbY80hLIQNo?usp=sharing# GANとは
GANはGenerative Adversarial Networkの略であり、敵対的生成ネットワークの邦訳が与えられています。
GANはディープラーニングを利用した生成モデルの一種であり、生成器と識別器という2つのネットワークを持ちます。
これら2つのネットワークが互いに競い合うように学習することが、Adversarial(敵対的)の由来となります。GANは近年、実在しない高精度の画像を生成することに成功しており、非常に注目されている技術です。
加えてGANの本質は2つのネットワークが競い合うように学習する点にあるため、画像生成以外にも多様なタスクに応用が可能です
そこで今回はGANに対する理解を深める為、Pytorchを用い
pythonで対数グラフ(それと聴覚閾値)
# 初めに
この数式って本当にこのグラフになるのかな?って不安になることってありますよね。
今回はそんな自分の不安にpythonで解決しようとした際に出た問題を記事にしています。# 問題
最小可聴値あるいは聴覚閾値と呼ばれるグラフを探した際に次のようなグラフが見つかりました。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2647158/5c7c1b6b-6c03-9e75-eee6-5bb4e398bcdb.png)
↑wikipediaよりこれをpythonで再現したい。
xが10の累乗のグラフなので、それが再現できるpythonのコードにしなくてはいけない。# コード
“`python
import matplotlib.pyplot as plt
import numpy as np
f = np.logspace(1,4,500000,base=10)
ath = 3.64*(f/1000)**-0.8-6.5*np.exp(-0.6*(f/1000
マイク入力音声をリアルタイムでFFTしてグラフ化する
# 初めに
この記事はガチでコードだけを置いておこうというやつです。
なので解説は行っていませんが悪しからず。# コード
“`python
import pyaudio
import matplotlib.pyplot as plot
import numpy as npdef audiostart():
audio = pyaudio.PyAudio()
stream = audio.open( format = pyaudio.paInt16,
rate = 44100,
channels = 1,
input_device_index = 1,
input = True,
frames_per_buffer = 1024)
return audio, streamdef audiostop(audio, stream):
stream.stop_stream()
stream.close()
audio.terminate()de
Flaskアプリケーションのセッション問題
Flaskでアプリケーションを作っていて、ちょっとはまったのでメモ。
## 複数のFlaskアプリケーション
Flask でセッションを使うには、
“`Python
app = Flask(__name__)
app.config[‘SECRET_KEY’] = b’適当なキー文字列’
“`
と設定するのは周知の通り。たとえば、Flask のアプリケーションを2つ稼働しているとして、
どちらもセッション情報を使う(たとえばログイン情報を保持しておくとか)場合。
同じブラウザの別タグで、それぞれのアプリケーションを開いて、タブを切り替えたりしていると、片方のセッションが消えてしまう現象が発生する。
FlaskはCookie にセッション情報を保存するが、デフォルトだと、”session” という名前になる。
![cookie1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2882462/d690a5c8-0f80-d15f-42df-e2de92226281.png)アプリケーション1つ
[Python][Tips] 処理時間の計測
https://camp.trainocate.co.jp/magazine/python-time/
上記によると、Python処理の実行時間を測定する方法は以下の3つ。
> (1) time.time() : 最も簡単な実行時間を測定する方法
> (2) time.perf_counter() : 正確に実行時間を測定する方法
> (3) time.process_time() : CPU実行時間のみを測定する方法(sleep時間を除く)(2)が実用的に使えるので、実際の業務で利用しています。
“`python
import timestart = time.perf_counter() #計測開始
##################################
##### #####
##### 計測したい処理を実行 #####
##### #####
#################################
end = time.perf_cou
Tello SDK を自分なりに最適化してみた(Tello-Console)
# Tello SDK を自分なりに最適化してみた(Tello-Console)
Tello を python でプログラミングするときに辿り着く SDK、それは Tello-Python だろう。この記事ではそんな Tello-Python にある tello.py を僕なりに改良した **Tello-Console tello.py** を紹介しようと思う。
今回初めてこのような記事を書くので、分かりづらい点もあるかもしれないが、そこは指摘があり次第、修正する。## そもそも Tello って?
![tello画像.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2729782/8d13042e-4f4d-f627-becc-fcd30bb9910d.jpeg)
そもそも Tello って何なのか。知らない方に簡単に説明すると、**小さなプログラミングで飛ばすことができるドローン**である。とても小型なので室内で飛ばして遊ぶことができ、しかもホバリング性能やカメラの性能が類似する大きさのド
[Python][Tips] さくっと現在日時を取得したい場合
さくっと現在日時を取得したい時に便利なTips。
大量のデータを扱う場合、現在日時をファイル名先頭に付与することで新旧でソーティングできるのでよく利用しています。
“`Python
import datetimenow = datetime.datetime.now() # 現在日時を取得
dt = now.strftime(‘%Y%m%d%H%M%S’) # YYYYMMDDhhmmssの書式に整形
print(dt) #20220927221536
“`
YDITS for Twitter/Discordの制作
# YDITS for Twitter/Discordの制作
Qiita初投稿
これは[noteで投稿した記事](https://note.com/yone1130/n/n8bf36ae85da4)の再掲です。## 使用技術
– [Python3](https://www.python.org/)
– [discord.py v1.7.3](https://discordpy.readthedocs.io/ja/latest/index.html)
– [Git/GitHub](https://github.com/about)
– [防災科学研究所 強震モニタ JSONデータ](http://www.kmoni.bosai.go.jp/)
– [P2P地震情報 API](https://www.p2pquake.net/json_api_v2/)
– [Visual Studio Code](https://code.visualstudio.com/)
– [Twitter API](https://developer.twitter.com/en/products/tw