らくがきちょう

なんとなく ~所属組織/団体とは無関係であり、個人の見解です~

Python

Python が実行出来るシェル「xonsh」をインストールする

xonsh は Python の機能が使えるシェルです。 xonsh のインストール手順をメモしておきます。

Azure Storage Container へアクセスする Python スクリプトサンプル

azure-storage-blob ライブラリを使うと Python スクリプトから Azure Storage Container へアクセスすることが出来ます。 簡単なサンプルを書いたのでメモしておきます。 今回は Python 3.8.1 を使いました。 但し、このページよりも GitHub の Azure / azu…

Lambda 用の .zip ファイルを作成する場合は「zip -r .」を使う方がベター

AWS Lambda で (標準パッケージ以外の) 外部パッケージを利用したい場合は、Python のソースコードと依存するパッケージを .zip アーカイブにして、Lambda へアップロードする必要があります。 詳しくは AWS Lambda Deployment Package in Python に記載され…

Python の boto3 で S3 とダウンロード/アップロードする

以前に Python の boto3 で S3 の操作を行うサンプルというメモを書きました。 今回はアップロード / ダウンロードサンプルをメモしておきます。

Python + responder + gunicorn + systemd + Nginx で Web アプリを起動する

以前に Python + falcon + gunicorn + systemd でシンプルな Web アプリを起動する というメモを書きました。 最近は responder が流行りらしいので、Python + responder + gunicorn + systemd + nginx 構成で「responder アプリケーションをデーモン化する…

CentOS 8.1911 のシステム全体へ pyenv をインストールする

pyenv は「特定ユーザにインストールする」方法と「システム全体にインストールする」方法があり、各々以下のような特徴があると思います。 特定ユーザにインストールする ユーザ権限だけでランタイムやパッケージの 追加・削除が可能 別ユーザから参照出来…

Python の responder を使った AJAX サンプル

responder は Python の Web フレームワークです。 responder でシンプルな AJAX を書いたのでメモしておきます。 サンプルは以下の 2 つです。 テキストを入力してボタンを押すとタイトルを書き換えるサンプル テキストを入力するとタイトルが書き換わるサ…

AWS S3 にアップロードされたファイルをコピー/移動する Lambda 関数

AWS S3 でファイルがアップロードされた際に、自動的にコピー (または移動) する Lambda 関数をメモしておきます。 尚、権限は適切に設定されているものとします。

Python responder の Quick Start を写経してみる

responder は Python の Web フレームワークです。 類似のものには Flask や Falcon があります。 公式ページには以下の機能がある、と書かれています。 A pleasant API, with a single import statement. Class-based views without inheritance. ASGI fram…

Python 実行時の引数で関数を呼び出せる fire を試す

Google が作った fire というライブラリを使うと、Python スクリプトを実行する時の引数にメソッドを呼び出せるようになります。 場合によっては便利に使えるので、簡単な使い方をメモしておきます。

Python の boto3 から Amazon SES を使ってメール送信する

Python の boto3 を使って Amazon SES からメール送信するサンプルプログラムをメモしておきます。 SES のサンドボックスの解除など、SES を使う上で必要な設定は済んでいる前提です。

Python の boto3 でファイルを作らず、S3 上へオブジェクトを作成する

Python の boto3 から S3 へ「存在するファイルをアップロードする」サンプルはよく見かけるのですが、ファイルは生成せずに直接、オブジェクトをアップロードするサンプルは少ないように思えたので書いてみました。

Python の boto3 で S3 の操作を行うサンプル

Python から boto3 を使って S3 上のファイルを操作するサンプルを書いたのでメモしておきます。

Python から subprocess モジュールで外部プログラムを起動する

Python から外部プロセスを起動する場合は subprocess モジュールを使う方法があります。 非同期処理等を考えない、簡単なサンプルをメモしておきます。 subprocess.run() の実行結果はバイト配列なので sys.stdout.buffer.write() を使って標準出力していま…

Python の boto3 で EIP の操作を行うサンプル

Python から AWS を操作出来るライブラリには有名な boto3 があります。 boto3 から EIP を扱うサンプルは Using Elastic IP Addresses in Amazon EC2 にまとまっています。 ほぼこの内容そのままですが、簡単なサンプルを書いてみたのでメモしておきます。

Python + falcon + gunicorn + systemd でシンプルな Web アプリを起動する

Python で falcon と gunicorn を使い、シンプルな Web アプリケーションを作り、更にそれを systemd に登録するまでの手順をメモしておきます。

Python の ntplib を使った NTP クライアントサンプル

Python には PyPi に ntplib というライブラリがあり、手軽に NTP の動作をコーディングすることが出来ます。

Amazon Linux2 に pyenv をインストールする

Amazon Linux2 に pyenv 環境を構築する手順をメモしておきます。 pyenv 環境構築直後は amazon-linux-extras が実行出来ない為、回避策もメモしておきます。

Cisco ACI へ Python3 でログインするサンプル (urllib.request 版)

以前に Cisco ACI へログインして認証トークンを取得する Python スクリプトのサンプルというメモを書きました。 ここでは requests モジュールを使った Python スクリプトを書いたのですが、これを urllib.request を使って書き直したサンプルをメモしてお…

はじめての LLDP

LLDP の基本についてメモしておきます。 LLDP とは LLDP と CDP の比較表 LLDP は標準規格 LLDP のフレームフォーマット 宛先 MAC アドレス タイプ (Ethertype) データ (TLV) LLDP TLV の分類 代表的な TLV の意味 TLV type 1 : Chassis ID TLV type 2 : Por…

AmazonLinux2 + Nginx + Python3.x + Ansible AWX 環境を構築する

AmazonLinux2 に AWX をインストールする手順をメモしておきます。

Cisco ACI へログインして認証トークンを取得する Python スクリプトのサンプル

Cisco ACI へ Python スクリプトでログインし、認証トークンを取得するサンプルをメモしておきます。 認証用の REST API へアクセスし、取得した認証トークンを以降の処理で使い回す… というのが定型処理です。 今回は Python 3.7.3 を使いました。

pyenv チートシート(よく使うコマンド一覧)

複数バージョンの Python を切り替えて使うには pyenv が便利です。 今回は pyenv でよく使うコマンド一覧をメモしておきます。

pyteams で送信したメッセージを Teams 上で確認してみる

先日、Python から Microsoft Teams へ投稿するというメモを書きましたが、pymsteams を使うと Python から Microsoft Teams の Incoming Webhook へ簡単にメッセージを送信出来ます。 今回は「pymsteams を使ってメッセージ送信すると、実際の Microsoft Te…

Python で Google API Key を使わずに Google 翻訳を利用する

googletrans を使えば、API Key を使わずに Google 翻訳を利用することが出来ます。 安定的に翻訳機能を利用するのであれば API Key を使用した方が良いと思いますが、ちょっとしたプログラム程度であれば googletrans でも事足りると思います。

Python から Microsoft Teams へ投稿する

pymsteams というライブラリを使うと、非常に簡単に Python から Microsoft Teams へメッセージを送信することが出来ます。 具体的には Microsoft Teams 上に Incoming Webhook を作成し、その URL に対して Python からメッセージを送信することになります。…

CentOS7 に pyenv で Python 3.7.x 系をインストールする

以前に CentOS 7.5 に pyenv をインストールし、任意バージョンの Python を利用するというメモを書きましたが、CentOS7 上で pyenv を使って Python 3.7.x 系をインストールしようとするとエラーになってしまいます。 事前に libffi-devel をインストールし…

CentOS 7.5 に pyenv をインストールし、任意バージョンの Python を利用する

Python のバージョンを切り替えられる pyenv を CentOS 7.5 へインストールした際の手順をメモしておきます。

Python のソースコードを flake8 でスタイルチェックする

Python のソースコードを PEP8 に従ってスタイルチェックするには Flake8 が便利です。 自分だけが使うスクリプトならまだしも、OSS に pull request する場合等は最低限、スタイルチェックも行っておいた方が良いと思います。 今回は Flake8 のインストール…

pyvmomi を使って vSphere 上の仮想マシンをシャットダウンする Python スクリプト

Python から vSphere を操作できる pyvmomi のサンプルは pyvmomi-community-samples で公開されています。 しかし、「特定フォルダの仮想マシンをシャットダウンする」というサンプルが無いようだったので作ってみました。