TSUBOCK★LABO-ツボックラボ-

とあるセキュリティエンジニアの技術メモブログ

MENU

Python

MacBook 2022 (M2)が来たので自分用開発環境のセットアップをした。(Homebrew + anyenv + pyenv + poetry + Vim-bootstrap)

セットアップのたびに調べてるのが勿体無いので、MacBook 2022(M2)に自分用開発環境をセットアップした時の記録をしておきます。 Homebrew をインストール 公式HP(Homebrew — The Missing Package Manager for macOS (or Linux))に記載の通りにコマンド実行…

Pythonのurllib.parseモジュールを使ってURLを解析する

小ネタかもしれないですが、よく使うので記載しておきます。 分析作業をしてるときにPythonの処理の中でURLの必要な部分だけ抜き出したり、URLの要素から判定をしたいときにurllib.parseのurlparseを使って解析をしています。 urlparseの使用例 URL文字列のP…

Python-Whoisを使用してWhois情報を収集する

ドメインに対してのWhois情報を収集したいとき、もちろんLinuxのWhoisコマンドやWhoisを提供しているWebサービスを利用して収集する方法があるが、大量のURLリストに対してのWhois情報の収集を全て手で行うにはなかなか大変なので、Pythonを使って処理を自動…

Pythonの古いrequestsモジュールで明示的に証明書を指定する

APIがあるサイトの認証局が変わって証明書が変更になったんですが、OS側の証明書は更新されたのにAPIをたたいているPythonモジュールのほうがエラーを吐くようになってしまったので、調査対応した備忘録。 結論 PythonのrequestsモジュールはOS標準の証明書…

HerokuにFlaskアプリをアップロードして動かしてみた。

Herokuで動かされているアプリの挙動が知りたくて、自分で簡単なFlaskアプリを作成してアップロードして動かしてみた。 確認環境 macOS Big Sur : 11.2.3 事前準備 Herokuを使うのに必要なことを順に挙げてみた。 Herokuアカウント作成 ローカル環境の準備 …

Pythonで文字コードを調べることができるchardetを使ってみた

経緯 PythonでDBから取り込んだStringデータをEXCELに出力しようとしたときに文字コードのエラーでハマってしまって、そもそも変数に入ってる文字コードがわからないとエンコードできないなってことで調べてみるとChardetという外部モジュールを使うことで文…

Pyenv+Poetryの環境でPandasをインストールしようとしたらエラーがでた

概要 Pyenv+Poetryの環境でPandasをインストールしようとしたら下記のようなエラーが発生。 実行コマンド $ poetry add pandas 出力エラー $ poetry add pandas Using version ^1.2.0 for pandas pyproject.toml+ ◀◀ buffers Updating dependencies Resolvi…

pyenvを使ってバージョン管理をする

使用しているWSLの環境で複数バージョンのPython3系での動作確認をするため、簡単にPythonのバージョンを切り替えられるPyenvをインストールしてみました。 pyenvとは pyenvはPythonのバージョン管理を行なうコマンドラインツールで、複数のバージョンのPyth…

MinIOをPythonで操作してみよう

以前紹介したMinIOをPythonで操作してみたいと思います。 過去の記事はこちら www.tsubock-lab.xyz MinIOはAmazon S3互換であるためAmazon S3を操作する際のPythonモジュールを使用することで使用することができます。今回はBoto3というPythonモジュールを使…

プログラムの中で一時的にファイルリソースを作成する「tempfile」モジュールを使ってみる

pythonでファイル操作しているときに一時的にファイルを展開したいなと思うとき、あると思います。そんな時にはtempfileというモジュールを使用して、一時的なファイルディレクトリを作成するのがスマートと思いますので、ご紹介いたします。 tempfileモジュ…

Type Hintsを使ってPythonの型を明示的に宣言してみよう。

Pythonは動的型付言語であるため、JavaやC言語のように変数に対して型を宣言する必要はないため、処理の中で型を操作するためには前後の処理を見て「こっちはString型」「こっちはInteger型」「あっちはDate型」と判断することが多いかもしれません。Python…

二要素認証のワンタイムパスワードをPythonで自動生成処理してみる

処理の自動化を検討する上で、二要素認証が必要なサイトがあったりするので、Pythonで二要素認証への対応を実装してみました。 二要素認証とは 二要素認証とは、利用者の本人確認などの認証において、二つの異なる原理の認証手段を組み合わせて用いることに…

PoetryでPythonのパッケージ管理を行う

以前の記事でPythonのパッケージ管理ソフトとしてPipenvをご紹介しましたが、私自身Pipenvを使用していたのは去年の途中まででした。 www.tsubock-lab.xyz 去年からはPipenvに代わってPoetryというパッケージ管理ソフトを使用していたので、Poetryについても…

PipenvでPythonのパッケージ管理を行う

プロジェクトごとのパッケージ管理はrequirements.txtで行うことが多かったのですが、requirements.txtへの記入が漏れてインストール作業でゴタゴタすることもあるため、最近ではパッケージ管理ができるツールを使用することが多いです。 今回はいくつかある…

Tkinterを使ってPythonプログラムのGUIを作る

Pythonで業務用ツールを作成したときに、あまりPC操作が得意でない人にCUIから操作してもらうというのはなかなかハードルが高かったりします。そこで、GUIを用意してボタン1つで操作ができると、心理的ハードルも下げることができるので、Pythonプログラム…

【Python】任意の値を標準出力する。【Print】

各コンピュータ言語の基礎中の基礎、標準出力について説明します。 Pythonでの標準出力ではPrintという関数を使用します。 Printは特にモジュールのimportは不要です。 使い方 Printは下記のように print({標準出力したい値}) という形で出力をすることがで…