Python関連のことを調べてみた2022年05月21日

Python関連のことを調べてみた2022年05月21日

【python】playwrightでログイン処理省略する方法

# 1. やりたいこと
Webブラウザの評価を行うとき、毎回確認ログイン処理するのは、億劫ですしテストの実行が遅くなる可能性があります。これを防ぐために、既存の認証状態を新しいブラウザコンテキストで再利用して、ログイン処理を省略できるようにします。

# 2. 環境
playwrighとpytestが入っている環境を用意します。環境構築方法は、[別記事][link-9-1]に記載しています。
 ・macOS 12.4(monterey)
 ・Python 3.7.6
 ・pip 22.1
 ・pytest 6.2.5
 ・playwright 1.16.2

| フレームワーク|コンテンツ|
|:———– |:————|
|[playwright][link-1-1]| マイクロソフト社が実行ブラウザを自動化する|
|[pytest][link-1-2]|Pythonで、このプログラムをする|

# 3. 実現方法
playwrightには、ログインを省略する直接的な機能はありませんので少しばかり工夫が必要です。
具体的には、下記のように一度ログインし、

元記事を表示

python関連のアップデートコマンド

Python関連をアップデートするコマンド一覧を、忘れないように残します。

# pipのアップデート
“`python:
pip install –upgrade pip
“`
もしくは
“`python:
python -m pip install –upgrade pip
“`

# Anacondaのアップデート
anacondaの本体をアップデートする。
“`python:
conda update conda -y
““
全パッケージをアップデートする。
“`python:
conda update –all -y
“`
pythonをアップデートする。
“`python:
conda update python -y
“`
不要なファイルを削除する。
“`python:
conda clean –all -y
“`

元記事を表示

Django Modelの作成からmigration

## モデルを作成
“`diff
from django.db import models
+ from django.utils import timezone

+ class Memo(models.Model):
+ title = models.CharField(‘タイトル’, max_length=200)
+ text = models.TextField(‘本文’)
+ date = models.DateTimeField(‘日付’, default=timezone.now)

“`

## ターミナル

“`
python manage.py makemigrations アプリ名
“`

“`
python manage.py migrate
“`

元記事を表示

Mac で brew install python したけど “command not found: python” “command not found: pip” ってエラーが出やがってよ

# エラー

“`
$ python
zsh: command not found: python
“`

# 実行ディレクトリを見てみる

“`
$ ls /usr/local/bin/ | grep python
python-build@
python3@
python3-config@
python3.7@
python3.9@
python3.9-config@
“`

python3 コマンドがあるので、そちらを使う

“`
$ python3
Python 3.9.12 (main, May 8 2022, 18:05:47)
[Clang 13.1.6 (clang-1316.0.21.2)] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
>>>
“`

起動できた

# pip

pip も pip3 という名前になっていやがった

“`
$ ls /usr/local/bin/ | grep pip
pip3@
pip3.9@

元記事を表示

CondidionalGAN(Pytorch)

# 概要
CondidionalGANは条件付き敵対的生成ネットワークと呼ばれます
通常のGANでは生成されるデータはランダムとなっています。
手書き数字の例でいうと0が生成されるか1が生成されるかなどはランダムに決定され、数字を指定しての作成は難しいです。
そこで、潜在変数と本物画像、偽物画像のそれぞれに現在はなんのデータに関しての学習を行っているかを教えながら学習することで、生成したいデータを指定することができるようになります

# ラベリング
現在なんのデータに関しての学習を行っているかを教える方法は以下の通りです。
## 潜在変数
潜在変数にOne-Hotエンコーディングでラベリングしたベクトルを結合する
![条件付ベクトル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/670347/7809e954-9807-bd99-b576-d8e79522bce4.png)

## 生成画像、本物画像
One-Hotベクトルを画像サイズに拡大したクラス数分のOne-Hot画像をチャンネル方向に結合する。

元記事を表示

pipenvを使用したJupyterLabの環境構築

# はじめに
唐突ですが、皆さん、
「 __Python使ってデータ分析とか機械学習してみてぇな!!__ 」と
思ったことはありませんか?( __ありますよね?__ )

まあ… 筆者は今のところ思ったこと無いのですけれども…()

ただ、仮に急にそうなった時のために
「環境構築の方法くらいは知っておいて損はないのでは」と考えた結果、
衝動的に環境構築してみたので、記録として残します。
もしよかったら読んでやってください。

## 実施すること
– JupyterLabのインストール・起動確認
– 拡張機能の導入(日本語化)
– 拡張機能の導入(GitHub連携~リポジトリをクローンする)

## 諸注意
– 本記事を読むにあたり、事前にPythonの環境構築、及び
(拡張機能でGitなどの古いモノを使用する人は)“`node.js“`のインストールが必要です。

– Pythonの環境構築や“`node.js“`をインストールするために必要な
パッケージマネージャの設定方法は過去に記事にしたので、以下を参照してください。

https://qiita.com/syutorum

元記事を表示

統計ど初心者がpythonでt検定をした

## 1. 初めに
初めに断りを入れておくと、大学時代から一応軽く統計を学んできたがいまいち自信がない
何か間違っていたり、勘違いをしていそうでしたらどんどんご指摘をいただきたいです

## 2. 背景
emacsのpython設定も(なんとか?)終了し、kaggleを物色していたところSpotifyのデータを見つけた。このデータの中身は2010年〜2019年のtop100のデータが入っている
https://www.kaggle.com/datasets/muhmores/spotify-top-100-songs-of-20152019

面白そうだなーとなんか分析できないかなーと考えた結果、年を1つの標本として差がありそうなところをt検定してみることにした。(この時点で無作為抽出ではないのではないかとヒヤヒヤしている)

## 3. データ観察
ということで、時系列とデータに分けてグラフに書き出してみた
横軸は年の推移を表しており、縦軸にそれぞれの属性の値の平均値が入る
縦の棒は標準偏差を表している
![Figure_1.png](https://qiita-image-stor

元記事を表示

ラズパイでOMRONのPLCのメモリの値をロギング

# OMRONのFINSコマンドを使ってPLCのメモリをロギング
ラズパイで定周期でOMRON PLCのメモリを読み出してファイルに保存します
(Windowsでも動作します)

https://github.com/OkitaSystemDesign/memlog/tree/main/OMRON

## 環境
Python3.9
PLC OMRON CJ/NJ/NX series

#### ディレクトリ構成
“`
.
├─ finsudp.py
├─ memlogFINS.py
└─ log
└ ログファイル
“`
## 実行例
“`
~ $ python3 memlogFINS
“`
## ファンクション
### memlogFINS(interval, recnum, logpath)

#### interval : 収集周期
収集する周期を入力します 単位は秒
例:0.1

#### recnum : 収集個数
設定した個数を収集するとプログラムを終了してファイルを閉じます

#### logpath : 収集ファイル出力ディレクトリ
ロギングするファ

元記事を表示

ラズパイで三菱シーケンサのデバイスの値をロギング

# 三菱のMCプロトコルでデバイスの値をロギング
ラズパイで定周期で三菱シーケンサのデバイスを読み出してファイルに保存します
(Windowsでも動作します)

https://github.com/OkitaSystemDesign/memlog/tree/main/MITSUBISHI

## 環境
Python3.9
Frame3E UDP/IP connection

#### ディレクトリ構成
“`
.
├─ mcp.py
├─ memlogMCP.py
└─ log
└ ログファイル
“`
## 実行例
“`
~ $ python3 memlogMCP
“`
## ファンクション
### memlogMCP(interval, recnum, logpath)
定周期でlogwriteを実行します

#### interval : 収集周期
収集する周期を入力します 単位は秒
例:0.1

#### recnum : 収集個数
設定した個数を収集するとプログラムを終了してファイルを閉じます

#### logpath : 収集ファイル出力ディレクトリ

元記事を表示

【Python】Instagramで自動検索して、投稿のURLを取得する

# 初めに
 ことすたぐらむいいね機能の実装コードとなります。記事のまとめとして、以降の記事で、完成コードを記載したいと思います。

# 特定のキーワードで検索する
 Instagramdeはキーワード検索のurlが決まっており、以下のものになります。
“`python:検索URL
https://www.instagram.com/explore/tags/{特定のキーワード}/
“`
 こちらの検索urlを用いて検索を行います。検索には時間がかかるため、10秒ほどスリープしていますが、最終コードではWebdriverで実装したいと思います。
“`python:instagram.py
#特定のキーワードで検索を行い、最新の投稿10件のurlを取得
def search(self, keyword):
self.get(‘https://www.instagram.com/explore/tags/{}/’.format(keyword))
sleep(10)
“`
# 投稿のURLを取得する
 検索画面で投稿のリンクurlはI

元記事を表示

aku

1.print関数を使って配列の中身を出力する場合は、以下に添付しています。
list = [1, 2, 5, 9]
print (list)
2.配列にデータを追加する場合は、appendメソッドというものを使います。
list = [1,2, 5, 9]
list.append(10)
print(list)
#list.insert
配列の要素を削除したい場合はpopメソッドが便利です。
list = [1, 3, 4, 6]
list.pop(0)
print(list)

元記事を表示

python

演算には掛け算、割り算、のafter 足し算。引き算が計算されます。
for exmaple:10+20-10/5*100**0
ans:28.0
2.ある文字列を変数に代入するには、
    name=’大阪’

3.print 関数を使って配列の中身を出力したい場合
list =(1,2,5,9)
print(list)

元記事を表示

.ipynbをのぞいてみよう【シリーズ:ファイルの中身1】

## .ipynbって?
IPython notebook のこと

## IPythonって?
Pythonを対話的に実行するためのシェル
https://ja.wikipedia.org/wiki/IPython

## .ipynbの中身
まず、適当なipynbファイルを用意↓
![capture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2013882/665bf36c-fcf5-6b36-ff73-4082e946ebc9.png)

vimでそのipynbファイルを開いてみた様子↓
![capture 4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2013882/0b75542a-4000-9edb-f7b9-970b687ccfed.png)
![capture 5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/20

元記事を表示

Python で文字列暗号化のやりかた 覚え書き

“`
>>> from cryptography.fernet import Fernet
>>> key = Fernet.generate_key()
>>> f = Fernet(key)
>>> str1 = f.encrypt(b’STRING’)
>>> str2 = f.encrypt(b’STRING’)
>>> str3 = f.encrypt(b’STRING’)
>>> f.decrypt(str1)
b’STRING’
>>> f.decrypt(str2)
b’STRING’
>>> f.decrypt(str3)
b’STRING’
>>> str1
b’gAAAAABihzIr-f-8aNMSgmJOLFldYudDl_UR1poI9WXFhT2xHWuaWnEBtUoggxVufyAf2s27uxbpw_0uv6kiuxfmZfPOUs8HyA==’
>>> str2
b’gAAAAABihzIwApIVnYqTZ5Ltilmmheegl6H1uf4mNZNIaV_bu_T7aSawYvkd73qlQ3YhSKNYh-59a-BLxT4x8JpHsjB

元記事を表示

PYTHONについて

変数の使い方

>>>price = 100
>>>price
100
>>>price + 10
110

文字列を扱う

>>>name = ‘ヘスティ’
>>>name
‘ヘスティ’

append
リストの末尾に追加する。
my_list.append(10)

clear
リストを空にする。
my_list.clear()

copy
リストのコピーを返す。
[1,2,3].copy()
=>[1,2,3]

count
リスト内に何個あるかを返す。
[1,1,2,1,2,3].count(1)
=>3

extend
リストに別のリストを追加する。
my_list.extend([4,5,6])

index
リスト内の位置を返す。
[‘burger’,’steak’,’chiken’].index(‘steak’)
=>1

insert
リストの指定した位置に追加する。
my_list.insert(0,’追加データ’)

pop
リスト内の要素を削除する。
「引数なし」はー1と同

元記事を表示

M5stack Core2でBluetooth接続 PCのpythonプログラム

先日の続きです。
Chrome経由での接続確認はできたのですが、Pythonでの実装をポチポチと
(かき集めた内容なので、間違っている箇所があったらご指摘下さい:bow_tone1:)

https://qiita.com/ganmodoki_oishii/items/e0aad88ba3c4a20ce9b8

Bluetooth接続と書いておきながらも、実際はBluetooth Low Energy(BLE)というエコモードなBluetoothです。
Pythonのライブラリは`pybluez`はインストールが上手くいかなかったので、`Bleak`を使いました

https://bleak.readthedocs.io/en/latest/index.html

“`python
from bleak import BleakScanner
from bleak import BleakClient
“`
Scannerがデバイス検索
Cliantが送受信に使われています

### Python側から通信先を見つける
`M5Stack`は前回のプログラムを実行して、BLEを起動し

元記事を表示

【python】playwrightの実行中の操作を録画する方法

# 1. やりたいこと
Webブラウザのテストはしばしばテストの実行操作を後々見返したい時があります。
これを実現するためにplaywrightのtracing機能を活用し、実行中の操作を録画します。

# 2. 環境
playwrighとpytestが入っている環境を用意します。環境構築方法は、[別記事][link-9-1]に記載しています。
 ・macOS 12.4(monterey)
 ・Python 3.7.6
 ・pip 22.1
 ・pytest 6.2.5
 ・playwright 1.16.2

| フレームワーク|コンテンツ|
|:———– |:————|
|[playwright][link-1-1]| マイクロソフト社が実行ブラウザを自動化する|
|[pytest][link-1-2]|Pythonで、このプログラムをする|

# 3. 環境設定
rootフォルダの直下に実行ファイルとエビデンスを保管するためのフォルダを作成します。
※ 実行ファイルのファイル名は、pytestの仕様上「test_xxx.py」としてください。
>ro

元記事を表示

intへの変換の範囲について

# 概要
int型変換で遊んでいて気づいたので備忘録。

半角数値の文字列をint()で数値型にできるのは当然だが、
全角数値型の文字も半角数値にしてくれることにちょっと感動した。

# やっていたこと

“`python: 文字列(半角数値)を数値へ
>>> num = “123”
>>> int(num)
123
“`

まあ、当然そうなる。

“`python: 文字列(全角数値)を数値へ
>>> num = “123”
>>> int(num)
123
“`
おおお、優秀。

“`python: 文字列(漢字で単位と数値)を数値へ
>>> num3 = “一億”
>>> int(num3)
Traceback (most recent call last):
File ““, line 1, in
ValueError: invalid literal for int() with base 10: ‘一億’
“`
期待したけどダメでした。まあ、当然。漢字をほいほいできる訳無し。

“`python: 文字列(漢字(数字のみ))

元記事を表示

配列をpickleで保存する・読み込む

作成日:20220520
言語:Python3.6
記事の用途:自分用メモ

Pythonで出力した変数を一度ファイルに保存し、あとで別のプログラムから使いたい時には、pickleモジュールを使うと便利。

下のコードでは、
まずaというリストをdata.pickleというファイルとして保存し、
次に上で保存したdata.pickleをbという変数に読み込んでいる。

“`python:pickle_save_and_load.py
import pickle

### 保存したい配列
a = [‘a’, ‘b’, ‘c’] # リストやnumpy.ndarrayなどの配列

### pickleで保存(書き出し)
with open(‘data.pickle’, mode=’wb’) as fo:
pickle.dump(a, fo)

### pickleで保存したファイルを読み込み
with open(‘data.pickle’, mode=’br’) as fi:
b = pickle.load(fi)

“`

## 参考記事など
1. pickleについて

元記事を表示

【python】playwrightでパラメータテストする方法

# 1.やりたいこと
playwrightで作ったテストをデータ駆動でテスト実施できるようにします。
これを実現するためにpytestを活用して実現したいと思います。pytestの「@pytest.mark.parametrize()」は、対象のテスト関数にパラメータを渡し、パラメータセットの分だけ繰り返しテストをする仕組みです。

# 2.環境
playwrighとpytestが入っている環境を用意します。環境構築方法は、[別記事][link-2-2]に記載しています。
 ・macOS 12.4(monterey)
 ・Python 3.7.6
 ・pip 22.1
 ・pytest 6.2.5
 ・playwright 1.16.2

| フレームワーク |内容 |
|:———–|:————|
|[Playwright][link-1-1]| マイクロソフト社が作っているブラウザを自動で操作する|
|[pytest][link-1-2]|Pythonで書いたプログラムをテストする|
# 3.環境設定
rootフォルダの直下に実行ファイルを作成します。

元記事を表示

OTHERカテゴリの最新記事