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

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

【python】勉強メモ 速習Flask③

## 1 はじめに

今回は、DBに登録された情報を表示する学習です。
– [【python】勉強メモ 速習Flask②](https://qiita.com/qiitataro/items/682faa9749d596cb3496) の続きとなります。
– 今回は、修正を行うファイルのみ掲載します。

## 2 コード編集
app.pyと、index.htmlを以下の様に編集。
“`app.py
from flask import Flask
from flask import render_template
from flask import request
from flask import redirect
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
import pytz

app = Flask(__name__)
app.config[“SQLALCHEMY_DATABASE_URI”] = “sqlite:///blog.db”
db = SQLAlchemy(app)

元記事を表示

正規表現を用いたPythonで動的に値を判定する方法

# 前提
ABC084-B問題での実装検討を端的にまとめる
> [ABC084_B問題](https://atcoder.jp/contests/abc084/tasks/abc084_b)

# 今回やりたいこと
* 正規表現を用いて変数の値を反映したい
* 毎回input値が変わるので動的に正規表現をかけて判定したい(今回動的に判定するのは文字数)

# 実装内容
“`ABC_084_B.py
import re

a, b = map(int, input().split())
s = input()

# aとbの値を受け取る値毎に動的に変更して文字数を判定する
print(“Yes” if re.search(fr'[0-9]{{{a}}}-[0-9]{{{b}}}’, s) else “No”)

“`

* fr”hoge”とすることでfstring関数とrow関数を併用することが可能
* `{` と `}`は2つ重ねればエスケープすることが可能

“`実行結果.py
# 下記結果の通り後は上記実装方法の様に、Noneなら”No”, matchするなら”Yes”とし

元記事を表示

Twitterのプロフィール画像を自動で更新するツールをGitHub Actionsで作った話

# はじめに
こちらの記事は[GitHub Actions Advent Calendar 2022](https://qiita.com/advent-calendar/2022/github-actions) 25日目の記事です。
TwitterのAPIの審査が通ったので何か作ろうと思い、Twitterのプロフィール画像を時間帯に合わせて更新するツールをGitHub Actionsで作成しました。

# 作ったツール
以下のように時間帯に合わせて自動でプロフィール画像を更新してくれます。
(微妙にダサいですが目をつぶってください)

| 7:30~9:30 | 9:30~17:30 | 17:30~23:30 | 23:30~翌日7:30 |
| ——— | ———- | ———– | ————– |
| Python 3 エンジニア認定実践試験に合格してPython試験をコンプリートしたので色々まとめてみた

:::note info
この記事は[Udemy Advent Calendar 2022](https://qiita.com/advent-calendar/2022/udemy) 25日目の記事です。
:::

筆者は3年前Python 3 エンジニア認定データ分析試験(受験当時はベータ試験)に合格した記念に投稿した以下の記事は御陰様で多くの方に読んでいただくことができ、同時に沢山の`いいね`を頂戴しました。

https://qiita.com/y-vectorfield/items/36fc6d773f01ae33cd2c

あれから3年の月日が経ち、新たに一般社団法人Pythonエンジニア育成推進協会主催の「実践試験」が開始されました。受験してみたところ、:cherry_blossom:無事合格:cherry_blossom:しました。これでPython試験は4つ全てに合格し、無事コンプリートしました。よって、今回も記憶が薄れないうちに実際に取り組んだ試験対策等の情報をdumpしておこうと思います。 :dancer: :da

元記事を表示

M1の審査員の審査能力を評価する方法について考えてみた

先日M1が開催されて、一部の審査員の採点が物議を醸していました。この件に関しては擁護派の方も多く、単に点数の幅を大きくとっているだけどいう意見もありました。
 そこで私は正しい採点とはなにか、それを数値化する方法はないかということを考え、pythonコードを書いてみました。 断っておくと、私の数学力は学部1年レベルですので、結構おバカなことをしてしまっているかもしれませんが、そんな場合は優しくご指摘いただければと思います。
また、()で囲っている部分は独り言のようなもので、そこまで重要ではないので、後々おかしいと感じた点などがあれば、その都度見返していただければと思います。

 審査員の採点能力を数値化する上での指針

1.ある審査員の審査能力を評価する場合、他の審査員の評価の平均を”正しい審査”の”うちの一つ”と定義する。
 (最終的に得られた審査能力を用いて重み付けをして繰り返し計算していく方法もあるように思えるが、私のキャパを超えている気がする。)
2.”うちの一つ”と書いたのは、平均値や標準偏差が違っても芸人さん達の点数の順位、及び、点数の差の比(日本語が下手で申し訳ないが言

元記事を表示

【AtCoder】ABC283 のA,B,C,D における Python解説

ABC 283のA,B,C,D 問題を解くために考えたこと、ACできるPython3(PyPy3)コードを紹介します。

この記事は @u2dayo さんの記事を参考にしています。見たことのない方はそちらもご覧ください。とても勉強になります。

また、問題の難易度を表す指標を [Atcoder Problems](https://kenkoooo.com/atcoder/#/table/tsuru1471) から引用しています。このサイトは勉強した問題を管理するのにとてもオススメです。

質問やご指摘はこちらまで
Twitter : [Waaa1471](https://twitter.com/Waaaa1471)

作者プロフィール
Atcoder :[緑 882](https://atcoder.jp/users/tsuru1471)
20221225 現在

# 目次
[はじめに](#はじめに)
[A.Power](#apower)
[B.First Query Problem](#bfirst-query-problem)
[C.Cash Register](#ccas

元記事を表示

RaspberryPiでrequests_htmlを使用してハマる

# はじめに
Seleniumを使うのはWebドライバのバージョンを気にしたりと何かと不便。requests_htmlを使用すれば比較的簡単そうと思いRaspberryPi4にインストールしてみましたが結局ハマってしまったのでその記録を残しておきます。
# まずはインストール
“`shell
sudo pip install requests_html
“`
インストールはpipで行うだけ。いたって簡単です。
# 早速テストスクリプトで試してみるが…
次のようなスクリプトを作成して早速試してみます。
“`Python
from requests_html import HTMLSession

session = HTMLSession()
url = “https://www.google.com/”
r = session.get(url)
r.html.render()
“`
実行結果
“`Python
[INFO] Starting Chromium download.
100%|████████████████████████████████████████| 10

元記事を表示

【Django】 TemplateViewを使ってListページを作る

Templateviewを使ってListページを作ろうとしたときに
良い感じの記事と巡り会えず、思ったよりハマったのでTemplateviewを使ってListページを作る方法をまとめました

# 概要
TemplateViewを使ってListページを作成する方法です

# この記事で伝えたいこと
– Templateviewを使ったListページの作り方

– context_dataにデータを詰めれば上手くいく

# 結論
`[モデル].objects.all()`で取得したデータをcontext_dataに代入する

“`app1_views.py
from django.views.generic import TemplateView

from .models import TestData

class IndexView(TemplateView):
template_name: str = “app1/index.html”

def get_context_data(self, **kwargs):
ctx = super().ge

元記事を表示

【python】勉強メモ 速習Flask②

## 1. はじめに
今回は、**SQLite**を使い投稿したデーターをDBに保存するところまで行いたいと思います。

## 2. 全体の流れ
1.事前準備(SQLite3のインストール)
2.共通化
3.投稿内容のDB登録(今回のメイン)
4.DB登録処理(今回のメイン)

### 1. 事前準備 SQLite3のインストール
1. [SQLite3 ダウンロードページ](https://www.sqlite.org/download.html)へ移動。

2. 「Precompiled Binaries for Windows」まで移動し、
「sqlite-tools-win32-x86-3360000.zip」をダウンロード
![SQL-1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3014502/e031d10e-4d40-6ac9-bd36-b7dab17d1ee6.png)

3. ダウンロードしたら、任意の場所でZIPファイルを解凍。
4. 解凍すると、sqldiff.exe

元記事を表示

Yt-dlpをPythonから実行し、時間指定した動画をダウンロードする

この記事は呉高専アドベントカレンダーの24日目の記事です。
https://adventar.org/calendars/7908
呉高専を卒業し、大学に3年次編入してから2年目の乗算記号と申します。
普段はUnityでゲームを作ったり、卒研でPythonいじったりしています。
初めて記事を書くため、読みづらい部分はご容赦ください。

# yt-dlpとは

yt-dlpとはyoutube、twichといった動画配信サービスから高画質・高音質な動画をダウンロードできるプログラムです。ちなみにあのGitHubから追放されかけた(実際された)ことで有名なYoutubeDLからの派生プロジェクトになります。使用目的としては機械学習のような大量の動画や音源が必要なときに大変重宝されます。基本的にはcliから使用しますが、pythonスクリプト上からも動作できます。

https://github.com/yt-dlp/yt-dlp

# yt-dlpで時間を指定した上でダウンロードする。
ある動画を時間指定してダウンロードする関数を定義して使用してみます。
ソースコードは以下のようにな

元記事を表示

【Mac M1】applescriptを使って、全取引先に年末の挨拶メールを、一瞬で個別送信する方法。

<愚痴>
まあ、Windows環境用に、PythonとWin32comを駆使して書くならば、需要はあるのでしょうが、自分の環境がMac環境なので、使えないApplescriptを駆使して、書きます。笑

<やりたい事>
タイトルが、「◯◯様、年末のご挨拶【海山商事、山田太郎】」と言う個別メールを、全取引先(300社以上)に、一斉送信したい。
(一般的には、BCCメールでやるのであろうが、「宛先多数の為、BCCメールで送信します。」とやると、経験上、誰も読まないし、第一、失礼だと思っております。)

内容は下記。

====
◯◯様、

いつも大変お世話になっております。
山田太郎です。
早いもので、本年も残りわずかとなり、年末のご挨拶をさせていただく時期となりました。

メールにて、恐縮ではございますが、年末のご挨拶とさせて頂きたいと思います。
良いお年をお迎えください。

山田太郎
====

<手順 1>
下記の様にで、送信したい相手先書いた.csvファイルを用意する。
A列にお客様の名前、B列にメールアドレス。
ファイル名は、recipient_list.csv

![名称未設

元記事を表示

Sony Neural Network Librariesを使ってハマったこと備忘録

Sony Neural Network Librariesを使ってハマったので憂さ晴らしの投稿
先に言うと問題は何も解決してません。

# なにはともあれ環境

>Windows10
>Python v3.10 on VScode
>nnabla 1.32.0
>nnabla-ext-cuda110 1.32.0

# 症状
Sony Neural Network Librariesを自前で構築したPython環境に`pip install nnabla`して使おうとしたが、次のようなことを言われ、にっちもさっちもいかなくなった。

~~~
(base) python.exe “nnabla_1.py”
2022-12-23 16:09:33,297 [nnabla][INFO]: Initializing CPU extension…
Traceback (most recent call last):
File “nnabla_1.py”, line 9, in
import nnabla as nn
File “C

元記事を表示

leetcode5 を解いてみた

# 方針
自分で1回はプロセスを考える。解けなくてもOK。
解けなかったときは、振り返ることが可能な程度まで言語化する。
※考え方おかしくない?というのがあればご指摘くださいまし。
※解けなかった、苦戦したものを記事にする。

# 問題紹介

問題は以下URL参照

https://leetcode.com/problems/longest-palindromic-substring/description/

## 最初の考え
– スマートな解法わかんないっぴ…
– とりあえず愚直にやってみるっぴ…

“` 初回.py
class Solution:
def longestPalindrome(self, s: str) -> str:
tmp = []
res = “”
length = 0

for i in range(len(s)):
tmp = []

for j in range(i,len(s)):
tmp.a

元記事を表示

レガシーなシステムのコードを勉強がてら、自分なりに最適化してみる

# Perlは好きですか?

こんにちは。自分は、Pythonを主言語として、いつも書いていますが、
今回、自社システムを学ぶためにも書かれているコードを勉強しつつ、コーディングしてみた話です。

システムは、かれこれ十数年クラスの凄いシステムです。
当時、師匠が一人で作ってくださり、今もなお現役として稼働し続けているシステムで、
全てPerlで書かれているCGiとなります。
セキュリティ的な面はさておき、コード自体は、特にPerlっぽさもないコーディングに仕上がっており、今後使われるかは不明です。
また、これら勉強を通して最も個人的にためになった箇所だけを抜粋し、こちらに投稿させて頂きます。

それでは、始まります。
###### ※なお、公開しているコードは一部を抜き出したもので、不完全であり、コピペでは動きません。 

## IPカメラ(ネットワークカメラ)から画像を取得したい。

弊社システムでは、必須な項目であり、現場のカメラから画像を取得し、システム上に表示させなくてはイケません。
そこで、弊社のシステムでは登録された情報からカメラに直接アクセス、または間接的に画像を拾って

元記事を表示

scratch3.0でAWSを操作してみたかった(できなかった)

# 前置き

これは[株式会社SUPER STUDIO Advent Calendar 2022](https://adventar.org/calendars/8255)の19日目の記事です。

せっかく機会を得たので、Qiitaの記事を久しぶりに書いてみようと思って自分のアカウントを見たら、前に投稿したのが2014年でした。恐るべき光陰。
以前の記事の頃とは自分の境遇も変わったので、新たな気持ちで記事を作ってみようと思います。

技術トピックで自分がよく読む記事としては、筆者の経験を踏まえたうえで他の人の役に立つようなナレッジを共有しているものと、役に立つかわからないことに情熱を注いでいるようなものと、のどちらかが好きです。
今回記事を作るにあたり、他の人の役に立つものも一瞬考えたのですが、今回は後者で行きます。

### 前提条件

今回の記事の筆者の環境です。

* Windows 10 Pro
* Ubuntu 20 on WSL2

あと、AWSアカウントを持っていることが前提です。

# やりたいこと

ノーコードとかいうのが流行っているらしいじゃないですか。ものとして本

元記事を表示

paizaラーニング「辞書順に出力 2 Python3編」

https://paiza.jp/works/mondai/array_primer/array_primer__string_dictionary_step2
#### 私の解答
“`Python3
li = (input().split())
sorted_li = sorted(li)

for ele in sorted_li:
print(ele)
“`
#### 解答例1
“`Python3
S = [0] * 5
values = input().split()
for i in range(5):
S[i] = values[i]

sorted_S = sorted(S)

for s in sorted_S:
print(s)
“`
#### 解答例2
“`Python3
S = [0] * 5
values = input().split()
for i in range(5):
S[i] = values[i]

S.sort()

for s in S:
print(s)
“`

元記事を表示

paizaラーニング「辞書順に出力 1 Python3編」

https://paiza.jp/works/mondai/array_primer/array_primer__string_dictionary_step1
#### 私の解答
“`Python3
A = [“zaipa”, “izapa”, “paiza”]

for a in sorted(A):
print(a)
“`
#### 解答例
“`Python3
li = [“zaipa”, “izapa”, “paiza”]
sorted_li = sorted(li)

for ele in sorted_li:
print(ele)
“`

元記事を表示

paizaラーニング「i 番目の出力 4 Python3編」

https://paiza.jp/works/mondai/array_primer/array_primer__string_i-thinput_step4
#### 私の解答
“`Python3
n, m, l = map(int,input().split())
values = input().split()
print(values[n-1][l-1])
“`
WolfMoon先生の解答例を参考にさせていただきました。
#### 解答例
“`Python3
values = input().split()
N = int(values[0])
M = int(values[1])
L = int(values[2])

S = [0] * M
values = input().split()
for i in range(M):
S[i] = values[i]

print(S[N – 1][L – 1])
“`

元記事を表示

【Python】csvから読み込んだ文字列が一致しないとき

# 結論
csvを読み込む時,エンコーディングで`’utf-8-sig’`を指定する.
“`python:例
with open(file,encoding=’utf-8-sig’) as f:
csvreader = csv.reader(f)
“`
csvを読み込んだとき先頭に`\ufeff`がある場合も同じ対処でOK.

# 発端
csvにある項目を一気に`grep`的に検索したかった.
テストで動かしたとき,明らかに一致している文字列があるのに検出してくれなかった.
シェルスクリプトで書く方が楽な人は多いかもね…
“`csvs:search_word.csv
aaa
bbb
ccc
“`
“`txt:test.txt
aaajfdo
fewapjg
bbbdiaf
“`
“`python:search.py
from glob import glob
import csv
import re

target_csv = “search_word.csv”
target_path = “./*” #カレ

元記事を表示

【python】勉強メモ 速習Flask①

# Flask勉強メモ

コピペしていけば、仮想環境作成からブラウザでFlaskの実行を確認できる手順となっております。

## 実行環境
– Windows10 Pro
– Python 3.11.0

## ディレクトリ構造
“`
pydir/
┣myproject/
┣venv/
┣hello.py
┣templates/
┣hello.html
“`

## 全体の流れ
1. 仮想環境作成
2. 仮想環境有効化
3. 仮想環境内で、Flaskインストール
4. appファイル作成
5. appファイル起動(Flask起動)
6. ブラウザで確認
7. Flaskの終了
8. 仮想環境の終了

### 1. 仮想環境作成
**注)** コマンドは、VScode上のPowershellから実行しております。
**注)** コマンドは、myprojectフォルダで実行してください。

`.venv`という名前の仮想環境を作成
“`
python -m venv .venv
“`
### 2.仮想環境の有効化
仮想環境を有効化
“`
.ve

元記事を表示

OTHERカテゴリの最新記事