かべぎわブログ

ブログです

Python

GAKKOU の6文字を並び替えてできる360個の文字列を辞書式に並べるとき、100番目の文字列を求めよ。

むかしに話題になったやつを再度みかけて、数学的な素養がないので解説を見ても腑に落ちなかったのでPythonでかいてみた。 togetter.com いやーすごいですね。 こういうの数学的にとける頭になりたいですね。 gista20f15afb7d7c917289149ecef602559

最大公約数と最小公倍数をもとめるPythonを書いた

gist5805325620ad5f0b005cfd117fc0396a # 最大公約数 $ python gcd.py 60 75 15 # 最小公倍数 $ python lcm.py 30 42 210

インスタンスメソッド selfとは

Pythonのインスタンスメソッド(クラスの中で定義する関数)のselfについておさらい。 たとえばインスタンスメソッドのかんたんな例としては以下。 class Blog: def write(self): print('kabegiwablog') blog1 = Blog() blog1.name = 'kabegiwablog' blog1.wri…

Pythonで二分探索を書いた

さいきんアルゴリズムがたのしい github.com

LambdaでKinesis Stream のなかのデータをprintする

こんなかんじ。 import base64 def lambda_handler(event, context): data = event['Records'][0]['kinesis']['data'] result = base64.b64decode(data) print(result)

AWSの月間利用料を取得するPythonを書いた

概要 PythonでAWSの月間利用料を取得するスクリプトをかきました。 今回のものは他のPythonスクリプトから読み込ませることも意識しています。 成果物 これです。 github.com usage Command line python get_monthly_cost.py --help usage: get_monthly_cost…

CircleCIでLambda(Python)をsls deployする

概要 CircleCIでLambda(Python)をServerless Frameworkをつかってデプロイしてみます。 GitHubにCommitされるとCircleCIでsls deployしてAWSにデプロイするようなイメージ。 手順 手順です。 1. 事前準備 以下に役に立つページがあります。 手順5まですすめ…

Serverless FrameworkでLambda(Python)をデプロイする

概要 Serverless FrameworkをつかってLambda(Python)をAWS環境にデプロイしてみます。 手順 手順です。 1. テンプレートを作成する 今回デプロイするAWS Lambda用のServerless Frameworkのテンプレートを作成します。 serverless create --template aws-pyth…

curlコマンドをPythonコードに変換する

概要 curlコマンドをPythonコードに変換します。 やりかた 以下のサイトをつかうだけ。 curl.trillworks.com これが curl -k https://www.kabegiwablog.com こうなる import requests response = requests.get('https://www.kabegiwablog.com/', verify=Fals…

AMIといっしょにスナップショットも削除してくれるPythonをかいた

概要 AMIといっしょにスナップショットも削除してくれるPythonをかいたので見てください。 これです これです。 github.com つかいかた helpです $ python ./delete_ami_snapshot.py --help usage: ./delete_ami_snapshot.py [-h] --image_id IMAGE_ID [--pr…

Pythonでコンソールのサイズを取得する

概要 Pythonを利用してコンソールのサイズを取得してみたいと思います。 こんなかんじ こんなかんじです import os columns,lines = os.get_terminal_size() ゆーすけーす こんなかんじでぼくはつかっている こうすることでコンソールサイズがどんなかんじで…

S3バケットの中のオブジェクトを数えてくれるPythonをかきました

概要 S3バケットの中にあるオブジェクトを数えてくれるPythonをかきました。 これです これです 値はCloudWatchメトリクスから持ってきています。 github.com つかいかた こうやってつかうのだ $ python get_object_count.py --help usage: get_object_count…

S3バケットのサイズを取得してくれるPythonをかいた

概要 S3バケットのサイズ(オブジェクトのサイズの合計)を取得してくれます。 CloudWatchメトリクスの値をもとにしています。 コード これです。 github.com つかいかた usage: 'get_bucket_size.py [-h] --bucket BUCKET [--profile [PROFILE]] optional arg…

オブジェクトをすべて削除してからS3バケットを削除してくれるPythonをかきました

概要 かんたんにS3バケットを削除してくれるPythonをかきました。 バケットを削除するときはすべてのオブジェクトを削除してからじゃないと削除できなくてめんどくさいなーってかんじだったのでかいた。 スクリプト これです。 github.com import boto3, arg…

S3上のアーカイブファイルの中身を展開して出力してくれるPythonを書きました

概要 S3上のアーカイブファイルの中身を展開して出力してくれるPythonを書きました。 github.com つかいかた $ python uncomp_s3.py --help usage: uncomp_s3.py [-h] [--profile [PROFILE]] path required arguments: path example s3://mybucket/archive.z…

CLIでうごくAuthenticatorをつくりました

概要 CLIでうごくAuthenticatorをつくりました これです github.com つかいかた こんなかんじ $ python ./auth.py --help usage: ./auth.py [-h] [--name NAME] optional arguments: --name NAME Name of AWS account (default: ALL) オプションを指定しない…

pytestでPythonスクリプトをテストする

概要 PythonのテストツールのpytestをつかってPythonスクリプトのテストをしてみたいと思います。 インストール pytestはpipでインストールできます。 $ pip install pytest テストしてみる 実際にpytestでテストしてみます。 前提 こんなかんじのスクリプト…

Pythonから別のPythonファイルを呼び出す

概要 Pythonスクリプトから別のPythonファイルのスクリプトを呼び出してみたいと思います。 こんなかんじ こんなかんじでできます。 呼び出すPythonファイルがどこにあるかによって指定の仕方がすこしちがいます。 同一階層のPythonを呼び出す こんなかんじ…

argparseで2つの引数のどちらかのみオプションとして指定させる

概要 Pythonでargparseをつかって2つの引数のうちどちらかののみを指定している場合のみOKとしてみます。 文章で書くとよくわかんない。 こんなかんじにしたい。 $ ./wawawa.py --wawawa # これはOK $ ./wawawa.py --sasasa # これもOK $ ./wawawa.py --wawa…

PythonでIAMグループとかIAMロールをかんたんに削除してくれるPythonをかいた

概要 PythonでIAMグループとかIAMロールをかんたんに削除してくれるPythonをかきました。 これと IAMグループをかんたんに削除してくれるPythonをかいた - かべぎわブログ これ IAMロールをかんたんに削除してくれるPythonを書いた - かべぎわブログ りょう…

IAMグループをかんたんに削除してくれるPythonをかいた

概要 IAMグループをかんたんに削除してくれるPythonをかきました。 グループを削除する際にはポリシーをデタッチしたりユーザをリムーブしたりいろいろしなければいけないですがこのスクリプトはそれらを解決します。 いろいろデタッチしたりしてからグルー…

IAMロールをかんたんに削除してくれるPythonを書いた

概要 IAMロールをかんたんに削除してくれるPythonをかきました。 ロールを削除する際にはポリシーをデタッチしたりインスタンスプロファイルをリムーブしたりいろいろしなければいけないですがこのスクリプトはそれらを解決します。 いろいろデタッチしたり…

AttributeError: module 'logging' has no attribute 'basicConfig'のエラーの解消法

概要 Pythonでこんなかんじのエラーがでた。 $ python logging.py Traceback (most recent call last): File ".\logging.py", line 1, in <module> import logging File "C:\Users\takak\blog_python\logging.py", line 2, in <module> logging.basicConfig(format='%(asctim</module></module>…

Pythonのloggingについてまとめる

概要 Pythonのloggingについてまとめてみる。 概要 基本編 ログレベルを指定する ログをファイルに出力する ログに日時を追加する おわりに 基本編 loggingをつかうことでPythonでかんたんなロギングを行うことができる。 たとえば以下のようなコードをかい…

かべぎわブログをスクレイピングしてくれるPython

概要 かべぎわブログをスクレイピングしてくれます。 スクリプト こんなかんじ。 動かしてみる こんなかんじ。 $ python scraping_kabegiwa.py PythonのBeautifulSoupでAWS What's Newの今月の一覧を取得する(強化版) https://www.kabegiwablog.com/entry/20…

PythonのBeautifulSoupでAWS What's Newの今月の一覧を取得する(強化版)

概要 BeautfulSoupをつかってAWS What's Newの今月の一覧を取得します。 本文も全部出してくれる強化版です。 スクリプト 実行してみる こんなかんじでずらーっと今月の情報が出力されます。 ARMv6 や新しい機械学習コネクタをサポートする AWS IoT Greengra…

Python(boto3)でAWSCLIとおなじかんじでprofileをわたしてあげる

概要 PythonとAWSCLIをいったりきたりしていて、profileのわたしかたに統一性がなくて(特にPythonは作った人によって全然違ったりして)めんどくさいなあと思っていたのでそれらを解決できるようなものを書いた。 Pythonでも--profileをわたして実行させるこ…

PythonのBeautifulSoupでAWS What's Newの今月の一覧を取得する

概要 PythonのBeautifulSoupを利用してAWSのWhat's Newの今月のトピックの一覧を取得してみます。 スクリプト こんなかんじで取得できます。 h3タグをとってきてループさせています。 実行してみる 実行してあげるとこんなかんじです。 $ python ./scraping.…

Python(boto3)で~/.aws/configをつかってのAssumeRoleする

概要 Python(boto3)で~/.aws/configの設定をもとにAssumeRoleしてみます。 スクリプト こんなかんじでできます。 前提 ~/.aws/configはこんなかんじとする。 [default] region = ap-northeast-1 [profile wawawa_test_role] role_arn = arn:aws:iam::1234567…

Python(boto3)でAssumeRoleする

概要 Python(boto3)でAssumeRoleしてみます。 スクリプト こんなかんじ。 実行してみる get_caller_identityしてみるとこんなかんじでAssumeRoleされていることがわかる。 $ python ./assume_role.py {'UserId': 'AROA57T5RBG4BKZFFOHVS:wawawa', 'Account':…