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

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

Python3でCGIチャレンジ2 ファイル書き込み

#前提
Python3でCGIチャレンジ1後

#作業フォルダ
ps1

#作業

##sample.pyを修正。

“`python:sample.py

import cgi
import cgitb
cgitb.enable()

print(“Content-Type: text/html”)
print()

form = cgi.FieldStorage()

f = open(‘file.txt’, ‘a’, encoding=’UTF-8′) # add

for key in form:
value = form[key].value
print(‘

%s: %s

‘ % (key, value))
f.write(‘%s: %s, ‘ % (key, value)) # add

f.write(‘\n’) # add
f.close() # add

“`

##ターミナルでコマンド実行して、ローカルでCGIサーバーを起動する。

“`
python -m http.server

元記事を表示

Python3でCGIチャレンジ1 フォーム送信

#はじめに

学んだことをもう一回調べ直さなくて済むよう記録することにした。

#前提

– VisualStudioCodeがインストール済み
– Python3インストール済み

参考までに現在のVisualStudioCodeのバージョンは、1.62.3。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401158/5fbb317f-b7c9-a8ec-e7a5-0a93b03f7a11.png)

#下準備

VisualStudioCodeのファイルからフォルダーを開くで、サンプル用の作業フォルダを作成する。
適当にps1(PythonSample1の意)で作成。

#作業

##index.htmlを作成する。

“`html:index.html


元記事を表示

Zabbix API+Python3 で複数ホストのデータを一括取得!

この記事はシスコの有志による Cisco Systems Japan Advent Calendar 2021 (2枚目) の 3 日目として投稿しています。
2021年版(1枚目): https://qiita.com/advent-calendar/2021/cisco
2021年版(2枚目): https://qiita.com/advent-calendar/2021/cisco2 (これ)

# はじめに
早いもので 2021 年も年末になりました。一年の締めくくりに、今年のデータ集計などを実施される方もおられるかと思います。Zabbix ではグラフを用いて集計をすることができますが、ホスト数が多いと大変です。そこで、Python3 で Zabbix API を利用し、複数ホストに対してデータを一括取得する簡易スクリプトを作成したので紹介します。ここでは最大トラフィック値を集計してみます。

### 動作結果(例)

“`
$ ./zabbixAPI.py

=== 一括取得スクリプト(期間:2021-10-01〜2021-10-31)===

ホスト名, アイテム名,

元記事を表示

とあるゲームにてバトルが始まるときのフェードアウト表現(黒い線が画面を回りながら暗転する)を簡易実装してみた

## 概要
とあるゲームにてバトルが始まるときのフェードアウト表現(黒い線が画面を回りながら暗転する)をどう実装すればいいのか考えて簡易的に実装してみましたという記事です。

以下のようなものです。
![effect.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/344880/426956b3-1df9-40de-4b7b-345a313714b8.gif)

# 実装
ubuntu18.04環境で、python3, pyqt5を使用しました。

### インストール

“`
# pyqt5 install
pip3 install pyqt5
“`

### 処理

以下の2stepです

“`
– step1. コマンド実行時点のスクリーンショットを撮る
– step2. 黒色のブロックをpyqt5で順番に表示
“`

### step1. コマンド実行時点のスクリーンショットを撮る

“`
# スクリーンショット
gnome-screenshot -f test.png
“`

###

元記事を表示

Slack Python SDK でチャンネルにファイルをアップロードしよう

## slack-sdk を使おう

「[Python で Slack API や Webhook を扱うなら公式 SDK(slack-sdk/slack-bolt)を使おう](https://qiita.com/seratch/items/8f93fd0bf815b0b1d557)」シリーズの記事です。公式 SDK についての概要、他にも記事がリンクされていますので、[こちらのエントリーページ](https://qiita.com/seratch/items/8f93fd0bf815b0b1d557)にもアクセスしてみてください。

この記事では [`slack-sdk` PyPI パッケージ](https://pypi.org/project/slack-sdk/)を使って Slack にファイルをアップロードするコーディングについて解説していきます。

## files.upload API を使うだけ

と言っても、実は `files.upload` という API の使い方を理解するだけですので、とても簡単です。英語のみとなりますが、API ドキュメントは以下の URL です

元記事を表示

測定器の遠隔制御がわからん!を解決した

上司「ウチにあるスペアナなんだけど自動化できるかな?できるよね?(圧)」
上司「今度の検査で使うから」
上司「じゃ、頼んだわ」

ワイ「え?前にレンタルした奴じゃダメなんすか?」
ワイ「使用実績もありますけど」

上司「いや~あれ結構したんだよねえ~」
上司「あ、校正も出しといてね」

ワイ「へい…」

##今回の環境
###用意したもの
・PC(windows10)
・スペアナ (E4407B, Agilent)
・GPIB-USB変換ハブ (GPIB-USB-HS, NATIONAL INSTRUMENTS)
・資料を読み漁る根性

###使用技術
・GPIB
・Python(pyVisa)
・Google翻訳

##第一弾完成まで

ワイ「変換ハブのドライバをインストールして…おっっっも」
ワイ「スペアナ動かすのは公式でアプリかなんかあるやろ」[^1]
ワイ「Agilent時代の機器だけどKeysightで探して…」
ワイ「あるやん!チョッロ!」

しかし…

ワイ「英語でよくわからんけどなんかアラートが出てるな…翻訳したろ」

アプリ「その機器には対応してへんで。すまんな」

元記事を表示

自作PythonライブラリのGitHub Actionsの環境のキャッシュ利用やジョブの並列化などをやってみる

趣味で作っている自作のPythonライブラリ(PyPIにアップロードされてpipでインストールできるもの)のGitHub Actionsのジョブを並列化したり環境のキャッシュをしたりができないか・・・と色々検証したり等の備忘録です。GitHub Actionsに精通していないため煩雑なところなど結構あるかもしれませんがご容赦ください。

# 現在の状況

現在までの状態は以前記事にしています。

https://qiita.com/simonritchie/items/629a02fc1ad0fd02d267

フローは大まかに「環境の準備」 → 「各種Lintで引っかからないことをチェック」 → 「テストで引っかからないことをチェック」 → 「PyPIへのアップロード」 → 「README上のバッジなどの更新」 → 「アップロードされたパッケージのインストールなどのチェック」といった具合になっています。テストの環境も特定のPythonバージョンのみ(最低サポートバージョンのPython3.6)で実施されています。

図にすると以下のようになります。順番に直列で進んでいく感じです。

元記事を表示

AWSサービス上限緩和の状況を一覧で取得したい


#1. はじめに
エンジニアとしてAWSを利用していると、お客様(非エンジニア)とのギャップに気づくことが多々あります。
エンジニアとしては「コンソールから見れば済むのに」という内容も、お客様にとってはパラメータシートなど資料に起こして管理したいと思うこともあるようです。

今回は、サービス上限緩和の状況を一覧で取得しようと思います。
※プログラム歴が浅く、コード上の改善案があればコメント頂けると幸いです:sunny:

#2. 本記事の内容
いくつかの参考記事をベースにPythonのBotoCoreを使い
サービス上限緩和の状況をJSON形式で一覧として取得します。

#3. 実装内容
1. “list_services()“APIを使い、サービスコード一覧作成
– 1.の結果をINPUTにして“list_service_quotas()API“を使い、最新の上限緩和状況を取得
– 1.の結果をINPUTにして“list_aws_default_service_quotas()“APIを使い、デフォルトの上限緩和状況を取得
– 2.と3.の内容を抽出

元記事を表示

KaggleでPythonを学習しよう。

#はじめに

2021年の8月に[30 Days of ML](https://www.kaggle.com/thirty-days-of-ml)がKaggleで開かれました。

私もでしたが、この機会にKaggleを始めた方も多いのではないでしょうか?

30日間の最初の1週目は[Pythonのコース](https://www.kaggle.com/learn/python)を終わらせよう、ということでした。

この時にDiscord(現在は招待リンクがうごいていません)でいろいろと回答とかしていましたので、Discordサーバが生きているうちにまとめておきます。

# [Python](https://www.kaggle.com/learn/python)
Learn the most important language for data science.
ということで

1. Hello,Python
1. Functions and Getting Help
1. Booleans and Conditionals
1. Lists
1. Loops and List Co

元記事を表示

素因数分解入門:3.1 試し割り法 – 処理の内容

この記事は [FUJITSU Advent Calender 2021](https://qiita.com/advent-calendar/2021/fujitsu) の1日目の記事です。
– – –
本記事を含む一連の記事では, 合成数の素因数分解について紹介していきます.
– – –
1. はじめに
2. 準備
3. 素朴な素因数分解法
3.1 試し割り法
3.2 Fermat法
4. 一次合同式を用いた素因数分解法
5. 二次合同式を用いた素因数分解法
– – –

# 3. 古典的な素因数分解法

本章から具体的な素因数分解方法を紹介していきます. 本章で紹介する試し割り法と Fermat 法は古典的な素因数分解法として有名で, いずれも処理が単純で実装しやすいという特徴を持ちます.家庭用の計算機でも 20 $\sim$ 30 桁程度の合成数の素因数分解が可能ですが, 残念ながらそれより大きな合成数の素因数分解には向いていません. しかしほとんどの合成数は小さい素因数を持つので[^1], 性質が不明な合成数を素因数分解する場合, まず試し割り法や Fermat 法によって小さ

元記事を表示

季節の推しを判別させた

# はじめに
この記事は限界開発鯖アドベントカレンダー1日目(12/1)の記事です。
遅刻しました。
ハロウィンネタは間に合いませんでした。

## 自己紹介
isso0424です。
goとtsを一生書いてるオタクです。
[Twitter](https://twitter.com/kousou4129) [GitHub](https://github.com/isso0424)

# きっかけ
ハロウィン、クリスマス、正月のような季節のイベント、オタクになった結果これにちなんだ推しのイラストを見ることで季節を感じるようになりました。PCくんにもこの感情を教えてやりたいと思い立ったので作りました。

# 実装
今回はpytorchを用いました。
ハロウィン、クリスマス、その他の3クラスの分別を行います。
AI触るの2年ぶりで全てを忘れてるので雑なのは許してください。
ディレクトリの構造はこんな感じです。

“`
main.py
# データセット用のディレクトリ
data
– halloween
– christmas
– normal
“`

## データを読み込む

元記事を表示

FastAPI + Reactでフルスタックアプリを作成する

この記事は「[【マイスター・ギルド】本物のAdvent Calendar 2021](https://adventar.org/calendars/6579)」1日目の記事です。

本記事ではFastAPI + Reactを使ったシンプルなフルスタックアプリの実装方法の紹介および所感を行っていきます。

# 想定読者
– React + TypeScriptの基本的な書き方を理解されている方。
– FastAPIに初めて触れる方。
– React + FastAPIで実装してみたい方。

# 今回のゴール
– 簡単なCRUD処理を実装する。
– 記事の管理を想定。
– ユーザー認証機能はなし。

# 開発環境
– PC: MacBook Pro(Apple M1, 2021)
– OS: macOS Big Sur 11.4
– フロントエンド:
– Node.js 16.10
– React 17.0.2
– Typescript 4.1.2
– バックエンド:
– Python 3.9.7
– FastAPI 0.70.0

# 執筆の経緯
自分は普段フ

元記事を表示

リモート時代の「今どこにいるの?」をpythonで

この記事は NTTテクノクロス Advent Calendar 2021の2日目の記事です。

こんにちは。安田と申します!
NTTテクノクロスでAI関連の新製品創出を担当しています。
(例えば、こういうの → [BizFront/SmartUI Decision Manager](https://www.ntt-tx.co.jp/products/bizfront/sui/dm/))

さて、本記事では、pythonで「今どこにいるの?」をロギングする方法を見ていきたいと思います。コロナ禍以降になって、会社オフィスだけでなく、自宅も働く場所になってきました。出社と在宅が混在するようになると、「そういえば先週の火曜日って、どこで働いていたっけ?」って、良く分からなくなります。そこで、私なりの工夫として、肌身離さず持ち歩いているノートPCがその日はどこにあったのかをログに残すことにしています。

原理(どうして居場所がわかるの?)

ノートPCがそのときに掴んでいるWifiのSSIDとBSSIDの情報を取得できれば、どこにいるのかは分かると思います。

* SSID = Wifiの

元記事を表示

Python の asyncio は超便利

Python の asyncio ([公式ページ](https://docs.python.org/ja/3/library/asyncio.html)) は超便利なので紹介します。

# ■何が便利?

要するに JavaScript ではもはや当たり前になっている **async/await** が実現できます。
つまり、**非同期**(処理をしている間、同期して完了を待つのでなく、次の処理を実行するやり方)を実現します。
非同期により、全体の **処理速度を爆上げ** できる場合がよくあります。

例えば、外部サービスリクエストや、ファイル・DBへの読み書きなど、I/O関連は時間がかかる割にCPUは空いてたりするので、そこが有効に活用されるようになるわけです。

多くのシステムはI/Oが大量にあったりするので圧倒的です。

# ■それってスレッドでもできるのでは?

もちろん可能ですが、コンセプトが異なり、スレッドに比べて **圧倒的にお手軽** です。

スレッドと何が違うのかというと、主な違いは、スレッドは複数の処理が同時に走るということです。処理の裏で別の処理が同時に走

元記事を表示

Google Colab と Turtle で描くアルファベット一覧(大文字編)

# 0. はじめに

– [MYJLab Advent Calendar 2021](https://qiita.com/advent-calendar/2021/myjlab) 1日目の記事です.
– Google Colaboratory と Turtle(タートルグラフィックス)でのアルファベットの描き方をまとめました.
– Turtleに命令を出して動かすことで簡単に文字を描くことができます.

![myjlab.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484145/05e9000d-dfb9-a4dc-e2c3-96c9dc8eecf7.gif)

# 1. Turtle(タートルグラフィックス)の基本操作
– 本家サイト:[turtle — タートルグラフィックス](https://docs.python.org/ja/3/library/turtle.html)を参考にしています.

## Turtleの動き

### 前進
“`Python
turtle.forward(d

元記事を表示

Enformerの紹介

#はじめに

DeepLearningを使ったバイオインフォマティクス分野のキラーアプリというと[AlphaFold2](https://qiita.com/chanfuku18/items/5460f1aed5a698966eb2)が一世を風靡していますが、AlphaFold2を作ったDeepMind社が同じく作成した[Enformer](https://doi.org/10.1038/s41592-021-01252-x)というアプリ、当然ながらDeepLearningを使っているわけですが、AlphaFold2に比べるとほどんどガン無視な状態です。この記事ではそんな可哀そうなEnformerについて解説したいと思います。

#Enformerって何?

一言でいうと「[BERT](https://qiita.com/omiita/items/72998858efc19a368e50)の入力にゲノムの塩基配列を使ったもの」ということになります(以下では基本的にBERTの内容は理解できているという前提で書いていますのでBERTのアーキテクチャーが解ってないという人はまずはBERTを勉

元記事を表示

ROS Noetic の環境構築まとめ

![rosnoetic.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2337794/f153f38f-b371-7062-b603-e7dbb74a9a4b.png)
はじめまして。
Qiita初心者なので、今回は記事を書く練習も兼ねてROS Noeticの環境構築をまとめました。
ROSって何?と思った方は以下の記事を参考にすると良いと思います。
[Robot-teck.jp “ROSとは/ROS2とは”[1]](https://robot-tech.jp/technology/rbo01.html)

#目的
Ubuntu20.04がインストール済みの環境にROS Noeticをインストールする

#概要
基本的には以下の本家Wikiの通りですが、一部異なる作業もしています。
[Wiki.ros.org[2]](http://wiki.ros.org/noetic/Installation/Ubuntu)

#開発環境
– Ubuntu20.04(x64)

##事前準備
ROS Noeticをイ

元記事を表示

Site matching query does not exist.

サイトマップ作成後にサイトにログインしようとしたところログインできなくなってしまった。

server error(500)
と表示されており、詳細が不明だった。

“`python:setings.py
DEBUG = True
“`

エラーログを表示
Site matching query does not exist.

原因
サイトマップを作成中にドメインを変更しなければいけないところを誤ってドメインを削除して新しく追加してしまった。

削除してしまったドメイン
“`pk=1, domain=’www.example.com’, name=’example.com’“`

ログインができない状態なのでシェルで追加することにした。

アプリのディレクトリ上で実行
シェルの起動

“`
python3 manage.py shell
“`

Siteのインポート

“`
from django.contrib.sites.models import Site
“`

削除してしまったドメインの作成

“`
Site.objects.create(pk=1, d

元記事を表示

平仮名<==>カタカナ 変換

応用

“`Python
chr(ord(“き”) + (ord(“ア”) – ord(“あ”))) # ‘キ’
chr(ord(“バ”) – (ord(“ア”) – ord(“あ”))) # ‘ば’
“`

元記事を表示

PyTorchでサクッとオリジナル画像分類モデルを作る【TIMM / Pytorch Image Models】

# はじめに
[kaggle](https://www.kaggle.com/)や[Nishika](https://www.nishika.com/)などのデータ分析コンペティションでは画像分類を行うことがしばしばあります。
難しいことを考えずにそれなりの精度を出すための画像分類モデルをサクッと作る方法を紹介します。

# 環境
– Ubuntu 20.04
– NVIDIA GeForce RTX 3090
– CUDA Version: 11.4
– Docker version 20.10.7, build 20.10.7-0ubuntu1~20.04.2

# Dockerイメージのダウンロード
[Docker Hub](https://hub.docker.com/r/pytorch/pytorch/tags)からご自身のCUDAのバージョンに合わせてダウンロードしてください。

## CUDAのバージョン確認方法
“`bash
$ nvidia-smi
Mon Oct 18 11:10:24 2021
+———————————

元記事を表示

OTHERカテゴリの最新記事