Python関連のことを調べてみた

Python関連のことを調べてみた
目次

webdriver.ChromeでChromeを表示したら、直ぐに落ちる原因はchromedriverのバージョン不一致

c:tempにchromedriverを置いてchromeを表示しようとしました。

“`python chromdisp.py
from selenium import webdriver
import time

def disp():
driver = webdriver.Chrome(‘C:\temp\chromedriver’)
driver.get(‘https://www.google.co.jp’)
time.sleep(10)

if __name__ == “__main__”:
disp()
“`

#原因
Chromとchromedriverのバージョン不一致

#対策方法
1.chromeの3点リーダーをクリックして設定メニューをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2664815/231d836c-c157-5b57-145c-571894a696cc.png)

2.Chromeについてをクリッ

元記事を表示

PythonでWordを画像に変換(JPG、PNG、SVGなど)

Word文書を画像としてエクスポートすることで、情報の共有が容易になり、不正な編集からデータを保護することもできます。この記事では、[Spire.Doc for Python](https://www.e-iceblue.com/Introduce/doc-for-python.html)ライブラリを使用して、PythonでWordから画像へのバッチ変換を実装する方法を探ります。

* [Python – WordをJPG/ JPEG/ PNG/ BMP画像に変換する](#python—wordをjpg-jpeg-png-bmp画像に変換する)
* [Python – WordをSVG形式に変換する](#python—wordをsvg形式に変換する)

## Wordから画像への変換のためのPython API
[**Spire.Doc for Python**](https://www.e-iceblue.com/Introduce/doc-for-python.html)ライブラリは、プロフェッショナルなWord文書処理ライブラリとして、Word文書をJPG、PNG、SVG

元記事を表示

ABC359(Atcoder Beginner Contest)のA~E(A,B,C,D,E)問題をPythonで解説(復習)

# ABC359(Atcoder Beginner Contest)のA~E(A,B,C,D,E)問題をPythonで解説(復習)

# A問題
– 最初に受け取った値 `N` の回数だけ,文字列を受け取る.
– 受け取ったそれぞれの文字列 `s` が `Takahashi` と一致した回数をカウントする.
– `Takahashi` と一致した回数を出力して終了する.
“`A.py
“””
<方針>
– 最初に受け取った値 `N` の回数だけ,文字列を受け取る.
– 受け取ったそれぞれの文字列 `s` が `Takahashi` と一致した回数をカウントする.
– `Takahashi` と一致した回数を出力して終了する.
“””
# 標準入力から値を受け取る.
N = int(input())

# Takahashi と何回一致したかをカウントする変数.
ans = 0
# N回文字列を受け取る.
for i in range(N):
# 文字列を受け取る.
s = input()
# 受け取った文字列が Takahashi と一致した時,
if(s==”Tak

元記事を表示

つよつよパスワードをPythonに作らせる

# ■背景

都知事選、安野たかひろ候補陣営のテックチームがすごい。
選挙戦においてテックblogがリリースされたのは日本史上初ではないかと思う。

https://note.com/jujunjun110/n/n0362b324831f?sub_rt=share_b

非エンジニアの一般市民だが「私もDXやりた〜い❤️‍🔥」とひとりでテンションが上がっている。

ひとまず、私個人の課題として、現代人として仕方ないけれども定期的にPWを考えるのが面倒。面倒なことは全てPythonにやらせたい。

# ■やりたいこと

強度あるPWを人間の脳を使わずに生成し放題なPythonコードを書く。

# ■実装
## 思想
① 使用する文字セットを定義する
② 文字数を指定する
③ randamモジュールで①から良い感じに抽出させる
④ ②の回数分③を続けさせる

## コード
“`python
import random
import string

# 使用する文字セットを定義
# 紛らわしいのでIl1Oo0-_を除外

allowed_chars = (
string.asci

元記事を表示

WSL2上のUbuntuでETE Toolkitの環境を構築する

## ETE Toolkitとは
ETE(Environment for Tree Exploration)は、系統樹の構築、分析、可視化をpythonで操作できる計算フレームワークです。これまで、ETEのバージョン3であるete3が使用されてきましたが、この環境構築は[公式ページ](http://etetoolkit.org/download/)の方法に従っても上手くいきません(私の環境では)。最近はete4が新しく開発されているようなので、ete4の環境構築を試しました。

## 動作環境
– Windows11 + WSL2
– Ubuntu
– python 3.9.19

## 環境構築フロー
1. 仮想環境の準備
2. パッケージのインストール

## 仮想環境の準備
私は普段anacondaを使っていましたが、ete4はpipで提供されています。condaとpipは併用したくないので、venvで系統樹解析用の環境を新しく用意することにしました。

“`bash:Ubuntu
$ mkdir tree_analysis #系統樹解析を実施するディレクトリを用意
$ cd

元記事を表示

【Python】selfが一度も使われてないクラスならクラスメソッドやスタティックメソッドにするといいかも

偉い人「このクラス一度もselfを使って無くない?」

“`python
class MyClass:
def __init__(self, value):
self.value = value

def instance_method(self, arg):
return self.value + arg
“`

偉い人「じゃあわざわざインスタンスにしないでも、クラスメソッドやスタティックメソッドにするといいかも」
俺「はえー」

### インスタンスとは?

インスタンスとは、クラスを基に生成された具体的なオブジェクトのこと。例えば、「車」というクラスがある場合、特定の「車の実体」(例えば「私の車」)がインスタンスとなる。

内部的には、「これ俺の車なんすよ笑」と言うと、「んじゃ場所とっときますね」とメモリを確保している。

Pythonでは、クラスを呼び出すことでインスタンスが作成される。

“`python
class Car:
def __init__(self, brand, model):
s

元記事を表示

Pythonで1から10000までの数当てゲームを作成してみた

### 前置き
今日は、Pythonを使い、1から10000までの整数を用いて、ユーザーとコンピューターが考えた数の大小を競うゲームを作りたくなった。

### プログラムコード
“` python
from random import randint

# Define the winning conditions for each difficulty level
EASY_WINS = 3
MEDIUM_WINS = 5
HARD_WINS = 10

# Function to set the difficulty level
def set_difficulty():
level = input(“Choose a difficulty. Type ‘easy’, ‘medium’, or ‘hard’: “)
if level == “easy”:
return EASY_WINS
elif level == “medium”:
return MEDIUM_WINS
elif level == “hard”:

元記事を表示

PythonでPomodoroタイマーを作ってみた

### 前置き
ポモドーロテクニックとは、仕事を25分ずつのセッションに分け、その間に短い休憩を挟んで行う時間管理術だ。今日は、PythonでPomodoroタイマーをどのように作るか紹介したい。一般的には、25分ごとに5分の休憩を取り、100分ごとに少し長い休憩(15分〜30分)を取る。

引用元:https://asana.com/ja/resources/pomodoro-technique

### プログラムコード
“` python
from tkinter import *
import math
# —————————- CONSTANTS ——————————- #
PINK = “#e2979c”
RED = “#e7305b”
GREEN = “#9bdeac”
YELLOW = “#f7f5dd”
FONT_NAME = “Courier”
WORK_MIN = 25
SHORT_BREAK_MIN = 5
LONG_BREAK_MIN = 20
reps = 0
timer = No

元記事を表示

Engine Simulatorの作法 その25

# 概要
Engine Simulatorの作法を調べてみた。
githubでエンジンジェネレータ見つけた。
練習問題やってみた。

# 練習問題
90度V型6気筒エンジンを作れ。

# 写真
image.png![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/4ca1a93b-f0b0-fca5-7050-e4b14174ec89.png)

# サンプルコード

“`

def generate_v6():
cylinders0 = []
cylinders1 = []
cylinders = []
for i in range(3):
cylinders0.append(i * 2)
cylinders1.append(i * 2 + 1)
cylinders += [i * 2, i * 2 + 1]
b0 = Bank(cylinders0, -45)
b1 = Bank(cylinders1, 45)
engine = Engine([b

元記事を表示

【Python】print関数

# はじめに
Pythonのprint関数は、Pythonを学び始める上で最初に触れることとなる関数の一つです。この記事では、print関数とは何か、何ができるか、そしてその基本的な使い方について説明します。

# print関数とは
print関数は、Pythonにおける標準出力(通常はコンソール)にテキストやデータを表示するための関数です。基本的な構文は次の通りです。
“`python:python
print(xxx)
“`
# print関数でできること

### 基本的な出力
print()関数の引数に渡すと、文字列や数値を簡単に出力できます。
“`python:python
print(“Hello, World!”)
# Hello, World!

print(123)
# 123
“`

### 変数の中身を表示
変数の値を表示するのも簡単です。
“`python:python
name = “Taro”
age = 25

print(name)
# Taro

print(age)
# 25
“`

### 複数の値を一度に表示
複数の値をカンマで区切

元記事を表示

Chrome Built-in AIを使用したウェブページからの商品情報抽出:オンデバイスAIによるフロントエンド実装

最新のChrome Built-in AIを使用して、ウェブページから商品情報を抽出する方法を解説しています。特にPythonとJavaScriptを使用して、ChromeのGemini Nano AIモデルを用いたオンデバイスAIによるフロントエンド実装手順が詳述されています。必要な事前準備から、実際のプログラムのロード、そして抽出したデータの構造化までを包括的にカバーしています。さらに、直面しうる問題点とその解決策も紹介されています。

## オンデバイスAIの実装のメリット
* プライバシーの保護: データが端末内で処理されるため、外部サーバーへの送信が不要で、個人情報の漏洩リスクが低減します。
* 低遅延: データ処理がローカルで行われるため、ネットワーク遅延がなく、リアルタイム性が向上します。
* オフライン動作: インターネット接続がなくても動作可能なため、いつでもどこでも利用できます。
* コスト削減: サーバーインフラの維持管理が不要となり、コスト削減に繋がります。

## 事前準備
### 最新のChrome built-in AI対応バージョン
Chrome bu

元記事を表示

Extracting Product Information from Webpages Using Chrome Built-in AI: A Local-First Frontend Implementation

## Pre-requisites

### Latest Chrome with Built-in AI Support
You need to use Chrome with built-in AI (Gemini Nano) support. Chrome version > v127. You can download it from the [Dev](https://www.google.com/chrome/dev/) or [Canary](https://www.google.com/chrome/canary/) channels. To check when this version will enter stable, refer to the [Chrome Platform Status](https://chromestatus.com/roadmap).

After installing the Chrome with built-in AI support, you **need** to perform the following settings

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その93 継承を利用したGUIの定義

# 目次と前回の記事

https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

https://qiita.com/ysgeso/items/0bad81b51c0ccbdbc3c7

## これまでに作成したモジュール

以下のリンクから、これまでに作成したモジュールを見ることができます。

https://github.com/ysgeso/marubatsu/blob/master/093/marubatsu.py

https://github.com/ysgeso/marubatsu/blob/master/093/ai.py

https://github.com/ysgeso/marubatsu/blob/master/093/util.py

https://github.com/ysgeso/marubatsu/blob/master/093/tree.py

## ルールベースの AI の一覧

ルールベースの AI の一覧については、下記の記事を参照して下さい。

https://qiita.com/ysgeso/

元記事を表示

テトリス風落ち物パズルを作る part11 ゴースト(落下予測地点の表示)

[前回](https://qiita.com/comet725/items/c2cd679a0bcf2d956a5e)はホールド機能を実装した

今回はゴースト(落下予測地点の表示)を行う

# 準備

mino.tmxにゴースト用のブロックを追加しておく。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398956/8fc438c9-be33-1791-b844-82993db37208.png)

そして追加したタイルを使えるようにMinoTypeクラスを編集する

“`diff_python
class MinoType(VEnum):
– Z = ‘Z’, auto(), *get_mino_data(0), SRS.common
– S = ‘S’, auto(), *get_mino_data(1), SRS.common
– J = ‘J’, auto(), *get_mino_data(2), SRS.common
– L = ‘L’, auto(),

元記事を表示

死にかけHDDのデータ移行にPythonを使った話

# 背景
10年目のHDDが急にパフォーマンスがガタ落ちし、PC操作にも支障が出始めたので、クローン化を試したが、開始するたびに「フォーマットが必要です」と出てきてエラー終了するので、無理やり移行することにした。
てか、フォーマットが必要って言うからやったのに、それで再度クローン化を試したらまた言われるとか何?
ちゃんとやってくれよ。

なお、手作業でコピーしようとすると、ある程度のファイル数・フォルダ数を超えるとなぜかコピーそのものができなくなる。(エラーどころか、コピー中のあのウィンドウも出ない)
少しずつやることはできるが、めんどくさいのでプログラム組むことにした。

# 注意事項
更新日時などは引き継がれないので、そこだけ注意。
クローン化じゃないよ。
コピペを自動化したようなもの。

# プログラム
Pythonの`shutil.copy`を使って移植するだけ。
ただし、ファイルアクセスの権限を考慮して、PythonIDLEを管理者モードで実行して作業を行う。

プログラムは以下の通り。DドライブからFドライブに移行する。

“`Python
import os, sys

元記事を表示

ピザの定理はピザを均等に分配できるのか、プログラムで確認してみよう

皆さんはピザの定理を知っていますか?ピザを均等な面積で切り分ける方法はいろいろとありますが、この定理を用いても均等にすることができます。個人的には面白い定理だと感じたのですが、本当に等しい面積なのか試してみたくなり、プログラムを書いて可視化と確認をしてみました。

# ピザの定理とは
Wikipediaに詳しく書いてありましたので引用します。

>初等幾何学におけるピザの定理(ピザのていり、英: pizza theorem)は、円板をある方法で切り分けると、2つの部分の面積を等しくすることができるという定理である。
>
>$p$を円板内部の任意の点とし、$n$を$8$以上の$4$の倍数とする。まず$p$を通る任意の直線に沿って円板を切り、直線を$p$を中心に$\frac{2π}{n}$ラジアンずつ回転させてはそれに沿って円板を切るという操作を計$\frac{n}{2}−1$回繰り返し、$\frac{n}{2}$本の直線で円板を$n$個の部分に切り分ける。そして時計回りまたは反時計回りに各部分に番号を順に振る。このとき、
>『奇数番目の部分の面積の和は、偶数番目の部分の面積の和に等しい(

元記事を表示

python: requirements.txt に platform や python 条件書きたいなら、requirements.in に Environment Markers を書こう

# 背景

local windows で開発時は特に問題なかったが、
Azure に deploy したら何故か動かない。

で、調べたら、pywin32 がねーよって怒られていた。
そりゃそうだよね、**win32** ですから! :sweat:

で、その対策の備忘録

# 環境

local Windows11 powershell
az/azd cli
Azure App Service Linux
Python 3.11

# 対応策

windows でのみ動くように requirements.in を定義する

以下のように定義してやることで、platform 条件で install させることが可能

“`text: requirements.in の例
pywin32; sys.platform == ‘win32’
“`

依存関係処理した上で、条件追記してくれるので、非常に助かる

“`text: requirements.txt 出力例
pywin32==306 ; sys.platform == ‘win32’
# via
# –

元記事を表示

OpenVINO™ バックエンドを使用して NVIDIA* Triton Inference Server* でモデルをサービングする方法

この記事は、Medium に公開されている「How to Serve Models on NVIDIA Triton Inference Server* with OpenVINO Backend」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。
https://medium.com/openvino-toolkit/how-to-serve-models-on-nvidia-triton-inference-server-with-openvino-backend-a4c36300ee21

この記事の PDF 版は下記からご利用になれます。
https://www.isus.jp/wp-content/uploads/pdf/openvino_26_how-to-serve-models-on-nvidia-triton-inference-server-with-openvino-backend.pdf
![openvino_26_figure1.png](https://qiita-image-store.s3.ap

元記事を表示

ニューラルネットワークで生成される埋め込みベクトルのイメージ(初心者向け)

# 1. はじめに
ニューラルネットワークモデル構築に不可欠な”埋め込みベクトル”という概念。
何を埋めてんねん、と思っている私含めた初心者向けの記事となっています。
# 2. 本題
### 1. 埋め込みベクトルとは?
特徴量行列の各要素の関係をより詳細に表すために次元数を増やした行列です。

### 2. 具体例
ある物質1の特徴を下記のベクトルで表す時のことを考えます。
“`
物質1の特徴量ベクトル = (原子番号1, 結合方式1, 電荷1)
“`
今は次元数が3ですが、これを引き延ばして5にした時の埋め込みベクトルを考えます。
例えば下記のベクトルのようになります。
“`
埋め込みベクトル = (e1, e2, e3, e4, e5)
e1: 原子の種類に強く関連
e2: 結合方式に強く関連
e3: 電荷に強く関連
e4: 原子の種類と結合方式の相互関係
e5: 結合方式と電荷の相互関係
“`
このように、元のベクトルの次元を増やし、要素間の相互作用・非線形的な関係をきめ細やかに表すことができます。

ニューラルネットーワークにおける学習では、この埋め込み行列の生成時の

元記事を表示

Echo State Network: 時系列データに対する高速機械学習

# はじめに
本記事では、時系列データに対する高速機械学習手法であるリザバーコンピューティング、特にEcho State Networkについて解説します。

# 忙しい人のため
* Echo State Networkとは、時系列データに対する高速機械学習手法である
* 入力層・リザバー・出力層の3つで構成されている
* 入力層とリザバーを通して高次元空間へ非線形に写像しつつ、RNN構造で時系列情報を取得することで、出力層(Ridge回帰)の予測を手助けする
* 入力層とリザバーのパラメータはランダムな初期値で固定して出力層のみ学習する。そのため従来の深層学習よりも学習コスト(計算機性能, 消費電力, 学習時間)が少ない!
* エッジコンピューティングのように、時系列データストリームの速度に合わせてリアルタイムにモデルを更新する必要があるケースで有用

# リザバーコンピューティングとは?
通常のニューラルネットワークでは、学習時にGPUを使用してモデル全体のパラメータを更新します。これにより高い推論性能を発揮するモデルを作れますが、学習コスト(計算資源, 消費電力, 学習時間)がか

元記事を表示

OTHERカテゴリの最新記事