Python関連のことを調べてみた2023年02月17日

Python関連のことを調べてみた2023年02月17日
目次

[Python]ファイル関連の処理でよく使うスニペット(個人用)

# はじめに

最近作業をしていて、自分がよく使う処理があるのですが、いちいちネットで調べるのが面倒なので、スニペット集として残しておきます。

– JSONファイルを読み込む
– JSONファイルを保存する
– 所定のディレクトリに格納されているファイル名一覧を取得したい
– ディレクトリを作成する

## コード

“`python
import os
import json

def mkdir(dir_path: str):
if (not os.path.isdir(dir_path)):
os.mkdir(dir_path)

def load_json(json_path: str):
json_data = None
with open(f'{json_path}’, ‘r’) as f:
json_data = json.load(f)
return json_data

def save_json(json_path: str, data):
with open(f'{json_path}’, ‘w’) as f:

元記事を表示

Python tool NginxのアクセスログからIPアドレスを抽出し、アクセス元のIPアドレスをヒートマップで可視化する

# はじめに
本記事はNginxのアクセスログからIPアドレスを抽出し、アクセス元のIPアドレスをヒートマップで可視化するツールについて紹介します。

クラウドにおけるWebサーバに対する偵察行為や、無料枠の利用を妨げるネットワーク下り(外向き)に関する通信のIPアドレスをファイアウォールに追加するための調査など、インテリジェンスに活用することができます。

以下Python toolの[ipcheck](https://github.com/Brutus03/ipcheck)の使用方法について記載しています。

## 背景
Google Cloud Platform(以下、GCP)でGCEインタンスを2018年頃から4年以上利用し続けています。

ホームページを公開するためのWebサーバとして利用していますが、基本的に無量枠内で利用しています。
GCEインタンスを無料枠で利用するための方法は、以前書いた[これから始めるGCP(GCE) 安全に無料枠を使い倒せ](https://qiita.com/Brutus/items/22dfd31a681b67837a74)ごご参照ください。

元記事を表示

ChromeでHTMLソースコードを表示し、その情報をSeleniumの要素指定に利用する

# はじめに
Seleniumでは、対象ページのHTMLソースコードの情報を利用して要素を指定し、クリックや文字入力などの操作を行います。
今回はChromeでHTMLソースコードを表示する方法と、表示したHTMLソースコードをSeleniumで利用する例を紹介いたします。

# ChromeでHTMLソースコードを表示する
まず、HTMLソースコードを表示したいページを開いた状態で右クリックします。![コメント 2023-02-14 200549.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1743442/b2042cce-567b-f938-7563-839e70ac05e8.png)

表示されたメニューから「検証」をクリックします。![コメント 2023-02-14 200550.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1743442/3c250442-d764-703d-7dc1-da1868bfcc3

元記事を表示

新卒エンジニアが【Pythonエンジニア認定基礎試験】の模試を受けてみたら、、、②

今回は昨日受けたPythonエンジニア認定基礎試験の模試の2つ目を受けてみました!

前回の記事はこちら▶https://qiita.com/asukitt/items/35ae0bbbc0b06a10509f

こちらのサイトからメアドを登録して受験しました。
URL:https://study.prime-strategy.co.jp/

昨日は間違えたところの復習を重点的にしました。

気になる点数は・・・・・・

75 点 / 100点満点です。

嬉しい!!合格ラインに乗りました!
ただギリギリの状態で受験するのは嫌なので、引き続き勉強します。

ここから下は間違えたところや、確認事項のまとめです。
参考になれば幸いです。

合格できるように頑張るので、いいね保存してくれると応援されてるんだなと思い励みになります!!何卒!

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
【Pythonの対応可能領域】
Pythonは柔軟な配列や集合、ディクショナリといった、非常に高水準のデータ型を組み込みで持

元記事を表示

Fタームを使った課題-解決手段マップを考える。

# 課題-解決手段マップとは
課題-解決手段マップは、特許データから抽出した「課題用語」と「解決手段用語」を縦軸,横軸としたマップです。

課題-解決手段マップを使いますと、課題と解決手段の関連性の強弱を判断できますので、製品開発の方向性を考える場合に、とても役に立つ特許マップといえます。
# Fタームとは
Fタームとは、日本国特許庁が編纂している、日本の特許文献の、それぞれの文献に記載された発明の技術的特徴による分類体系、またその分類体系において用いられる分類記号です。

Fターム分類体系を利用すると、複数の技術的観点によって特許文献を分類することができます。

下記はテーマコード3B200(吸収性物品とその支持具)のFタームリストです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3110569/0cb00308-0eb8-7fba-6307-7b2f50a07f57.png)

リストをみますと、BA(物性)のように課題を示すFタームと、BB~EAのように解決手段を示すFタームが

元記事を表示

Python3のYouTube Data Apiで動画を投稿/サムネイル追加/動画情報の編集/削除する

# やること
[YouTube Data Api](https://developers.google.com/youtube/v3/getting-started)を使用して、4つの作業を[Python3](https://www.python.org/downloads/)のプログラムで行ってみようと思います。
以下の順番で行います。
1. 動画のアップロード
1. サムネイルの追加
1. 動画情報の編集
1. 動画の削除

# 環境
実行する環境を以下に示します。
| 項目 | バージョン |
|:-|:-|
| OS | macOS Ventura 13.1 |
| Python | 3.9.9 |

# 手順
GCPの利用開始はされている前提とします。
## GCP関連
### プロジェクトの作成
[GCPコンソール](https://console.cloud.google.com/)にログインして、新しいプロジェクトを作成します。
【Python】グラフから値を抽出し,関数にする【SVG】

# はじめに
研究を行っていると,先行研究と比較するときなど,グラフから実数を得たい場面は意外と多いです.
以前,画像から半自動的に抽出する記事を書いたのですが↓今一つ使い勝手が良くなかったため(色分けされた実線グラフのみ対応),今回は別のアプローチを試してみます.
[【Python】(線)グラフの画像から値を抽出する](https://qiita.com/Cartelet/items/fd1d6eeb395cf572d6a2)

# 方法
グラフをなぞったSVG画像からベジェ曲線を計算し,線形補間で関数化します.

:::note info
SVGとはベクター画像のフォーマットのひとつで,XMLベースで記述されています.
有償ソフトでは Adobe Illustrator,無償ソフトでは Inkscape などで作成することができます.
ベクター画像で図を作成できると,論文やスライドなどを見栄え良くできるので,スキルとして習得しておくと何かと役に立つと思います.
:::

今回は線をなぞるだけですので,難しくはありません.

# グラフ画像の準備
Inkscape を例に説明します.

元記事を表示

英語のYouTube動画に日本語字幕を自動でつけてみる!

こんにちは!逆瀬川 ( https://twitter.com/gyakuse ) です!
今日は英語のYouTube動画を日本語字幕を自動でつける方法を紹介します。

## 作成した動画

## 概要

英語の動画をYouTubeからダウンロードしてWhisperで書き起こしを行い、翻訳して字幕付けを行います。
この手法を使えば、そもそも日本語動画の字幕付け・切り抜き等も自動化できるのでおすすめです。
なお、本稿で扱う動画はクリエイティブ・コモンズライセンスとなっております(Joshua Davisさんに深く感謝いたします)。

## 処理の流れ

– 動画をダウンロードする
– 音声をダウンロードする
– 音声からWhisperで書き起こしを行う
– MoviePyを使って字幕をつける

## Colab

**Whisperを用いるため、GPUランタイム必須です(長い動画はハイメモリにしないと死ぬかも)**

https://colab.research.google.com/drive/1

元記事を表示

Pythonをはじめてみるメモ

必要に迫られて、数年ぶりのPythonにチャレンジ。
自分用のメモです。

# 環境構築
PythonじゃなくてAnacondaをインストールするんだった。
ここからダウンロード↓↓↓
https://www.anaconda.com/products/distribution

# 教科書
前に買ってたこれに沿ってはじめてみる。
https://www.shoeisha.co.jp/book/detail/9784798155067

# パッケージの読み込み

基本のパッケージ
“`python
import numpy as np
import pandas as pd
“`

# 使いそうなコマンドメモ
配列の作成は `np.array` サイズを確認するときは `配列名.shape`
“`python
sample_array_2 = np.array(
[[1,2,3,4,5],[6,7,8,9,10]])
sample_array_2.shape
“`

データの読み込み `pd.read_csv(“ファイル名”)`
“`python
file_dat

元記事を表示

【Blender】OSLを用いたアウトライン描画 / 頂点カラーを用いた線幅制御

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704965/9b14f897-2859-a918-82b3-0b5bf751eed5.png)

## 前置き
今回トゥーン表現、とりわけ綺麗な線画表現を自動化できないか検証しました。
手描きを避け、コンポジットを用いずシェーダーのみで結果を得られないか試みています。

今回の頂点カラーの処理はBlenderに限らず、他のDCC/ゲームエンジンでも応用できると思います。

## 環境
Blender 3.4.1

## CyclesレンダラーでOLSを用いた線画を描画
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704965/fd79b513-e153-024e-8e77-563bd28b0776.png)
CyclesではOSLのスクリプトが使用できます。
OSLはGPUを使用できませんが、今回の手法は比較的リアルタイムに近い描画が可能で

元記事を表示

Pythonのlinearmodelsで操作変数法による因果推論を実施する

# はじめに

マーケティング施策が実際に効果があったか因果関係を推論したい場合は、介入を行うのが好ましいです。例えば、プッシュ通知を送るなど施策を実施する人達と実施しない人達に分けて、それぞれのグループの売り上げを比較することで、プッシュ通知というマーケティング施策に効果があるかを検証します。

しかし、プッシュ通知を送っても、スマホのバージョンが古いなどによって、プッシュ通知が届かない可能性があります。このようにマーケティング実施者の割り当てと、顧客に起こる事象が異なる場合があります。これを「**不服従(ノンコンプライアンス)**」と言います。
この不服従があると、プッシュ通知を送ったグループと送らなかったグループの売り上げを比較しても、施策の効果を検証できない可能性があります。スマホのバージョンが古くてプッシュ通知が届かない例の場合、スマホのバージョンが古い人は年収が低い可能性があります。

不服従がある場合に因果効果を推定する方法として、**操作変数法**があります。この記事では、操作変数法の概要、操作変数法が使える条件、pythonのlinearmodelsを使った操作変数法

元記事を表示

Python でイラストの塗り残しを塗る

# はじめに

下図のようなイラストの塗り残しを塗る処理がペイントソフトでは一発で出来なさそうだったので、Python と OpenCV で実装してみます。例えばアクリルキーホルダーなどの白版を入稿する場合、塗り残しがあると品質に影響が出る危険性があるため、しっかりと処理していきます。

![image_paint_unpainted_area_01-original_比較.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78152/82c13c53-99a6-39fc-427b-48e849e105a8.png)

# 入力画像

これは意図的に作成した画像ですが、線画と塗りの境界に塗り残しがあり、背景の緑色が透けてしまっていることが分かります。
(※分かりやすいように背景を緑色にしています。)

![image_paint_unpainted_area_01-original_x4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.c

元記事を表示

ChatGPT先生、Pythonがなぜ流行らないのか教えてください

# 回答

実際には、Pythonは非常に人気のあるプログラミング言語の1つであり、多くのプログラマーや企業によって広く採用されています。以下に、Pythonがなぜ流行らないと考えられるかをいくつかの理由とともに説明します。

* パフォーマンスの問題:Pythonは、C++やJavaなどの他のプログラミング言語に比べて実行速度が遅いとされています。そのため、高速な処理が必要なアプリケーションや、大規模なデータ処理が必要な場合には、Pythonは適していない場合があります。

* ライブラリの制限:Pythonは非常に豊富なライブラリを持っていますが、それらのライブラリが必要な機能がない場合もあります。そのため、Pythonが適していないアプリケーションもあります。

* セキュリティの問題:Pythonは動的型付け言語であるため、コードのエラーを検出するのが難しい場合があります。また、Pythonのライブラリのいくつかには、セキュリティ上の脆弱性がある場合があります。

* 教育や研究分野での使用:Pythonは、教育や研究分野で広く使用されていますが、産業界での使用には、他のプログ

元記事を表示

Windows標準WebサーバIISとFlaskを、httpPlatformを使って接続してみた

# はじめに

この記事では、Windowsに標準搭載されているWebサーバ(IIS)とFlaskを接続する方法を記します。

FlaskなどのPythonWebアプリケーションとIISとを接続させるのに、従来はFastCGIが一般的に使われていたようです。しかし、FastCGIのプロジェクトが維持されなくなったことから、Microsoftが**httpPlatform**の利用を推奨しています。
したがって、この記事では**httpPlatform**を使います。

# 前提

– pythonインストール済。
– IISインストール済。
– Flask入門済。

# 環境構築

## 1.Flaskアプリの準備

### app.pyの作成
今回はFlaskのチュートリアルから拝借。

“`python:app.py
from flask import Flask

app = Flask(__name__)

@app.route(‘/’)
def hello():
return ‘Hello, World!’

“`

### プロジェクト(フォルダ)を作成
今回

元記事を表示

Pythonのよく使う基礎文法覚書(書き途中)

# Pythonのよく使う基礎文法

## キーボード入力
input()で行なう
この時入力された値は**str型**で処理される.

“`py

x = input()
“`

#### 文字列を分割してリスト化する
スペースなどで区切られた文字列を分割してリストに格納するにはsplit関数を使う.
split関数の引数を空白にした場合は以下のものを分割してくれる.

– 空白
– 改行\n
– タブ\t
– 垂直タブ\v
– 復帰\r
– 改ページ\f

“`py
x = ‘one two three’
x = x.split()
>>> [‘one’, ‘two’, ‘three’]
“`

任意の文字で区切りたい場合は以下のように書く.

“`py
x = ‘one,two,three’
x = x.split(‘,’)
>>> [‘one’, ‘two’, ‘three’]
“`

参照:https://www.headboost.jp/python-how-to-split-strings/

#### 文字列のリストをint型に変換する

文字列のリストをま

元記事を表示

MeCabとNEologdで形態素解析できるようにする【Mac】

## 概要
MeCabとは、オープンソースの形態素解析エンジンです。そして、その性能を大きく左右するのが辞書です。

今回は、MeCabのインストールからmecab-ipadic-NEologd (インスタ映え、鬼滅の刃など最新の単語情報が載っている辞書)をデフォルト辞書に設定する方法をまとめました。

おそらく全て書いてあるのは他にないです。

2022年11月現在の情報です。
少し長いですが、基本的にコピペで完了できます。

## MeCabのインストール

HomebrewでMecabをインストールします。
“`
brew install mecab
“`

次にMeCabのためのIPA辞書をインストールする必要があります。
“`
brew install mecab-ipadic
“`

### MeCabとPythonの紐付け
“`
pip install mecab-python3
“`

インストールが完了したら、以下を実行し、エラーがなければOKです。
“`
python3 -c “import MeCab”
“`

### 形態素解析を試す

元記事を表示

mysql5.7でjson用カラムをdataclassesで形式を固定する

# 背景
* mysql5.7 DBにjson形式でデータを保存する
* backendだけで処理じゃなくて、aws lambdaも処理するので、保存されるjsonの形式を管理したい

# 対策
* dataclassesでjson形式を固定する
* dataclasses-jsonよりコンバートする
* request -> dict -> dataclass -> json -> DB
* DB -> json -> dataclass -> dict -> response

# dataclasses-json紹介
* https://pypi.org/project/dataclasses-json/
* [Pythonのdataclassをdictやjsonと相互に変換する方法を解説!](https://1kara-hajimeru.com/2021/02/1691/#dataclass%E3%82%92dict%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95)

# 対応
#

元記事を表示

Python3.7系 をM1 Macで動かす

## Guide

M1 Macにて、Python3.7系を動作させた備忘録を以下に記載しました。
– https://zenn.dev/mount_tyo/articles/c4a0c99d4436d6

元記事を表示

Pythonでお手軽MultiSet!

# はじめに
python勢が一度はぶつかるmultiset、、、

もう何も怖くない!!

# 背景

# 実装
BinaryIndexTree(BIT)を基に実装。

– self.List
– Setに格納される予定のある、重複のない値のリスト
– self.size
– self.Listの長さ
– self.length
– multisetの要素数
– self.tree
– BIT用のリスト、値の個数が入る
– self.kvlist
– 値をself.ListのIndexに変換する辞書(座圧とも呼ばれる)、1-Indexed

※Setに入る**値の種類**が分かっている前提でのみ使用可能。

“`python
class MultiSet:
def __init__(self, List):
self.List = sorted(set(List))
self.siz

元記事を表示

GoogleCloudのCI/CDを使った、サーバレスAPIのデプロイ

# はじめに
クラウド初心者がサーバレスAPIを構築するのに、めちゃくちゃ時間がかかってしまったので、備忘録として残します。
少しでも自分のような方の手助けになれたら幸いです。

# アーキテクチャ
* Python 3.10 (FastAPI 0.89.1)
* Cloud Run (コンテナ型サーバレスサービス)
* Cloud Build (CI/CD)
* ソース管理はGitHub

# やりたいこと
まずディレクトリ構成は以下のような感じ。
~~~
/
├ app/
│ ├ api/
│ │ └ 実際の処理
│ ├ database/
│ │ └ DB設定
│ ├ models/
│ │ └ DBモデル
│ ├ routers/
│ │ └ ルーティング
│ ├ schemas/
│ │ └ APIのレスポンスクラス
│ ├ utils/
│ │ └ 共通関数
│ └ main.py FastAPIをインスタンス化している
└ conf/
├ dev/
│ └ 開発環境用設定ファイル
└ prd/
└ 本

元記事を表示

OTHERカテゴリの最新記事