かべぎわブログ

ブログです

Python

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':…

Python(boto3)でアクセスキーをローテーションする

概要 Python(boto3)でアクセスキーをローテーションさせてみます。 スクリプト スクリプトはこんなかんじ。 処理の流れ こんなかんじのことをやってます。 古い(現在の)アクセスキーで新しいアクセスキーを作成する .aws/credentialsに新しいアクセスキーの…

Python(boto3)で自分のアクセスキーを削除する

概要 Python(boto3)を利用して自分のアクセスキーを削除してみます。 スクリプト こんなかんじ。 実行するとこれを実行したユーザのAWSアクセスキーが削除されます。 おわりに 作業終わりにこれを実行するようにするとか、踏み台のログアウト時とかシャット…

IAMグループにアタッチされているポリシーをツリー状に表示するPython

概要 IAMグループにアタッチされているポリシーをツリー状に表示するPythonを書いてみました。 スクリプト スクリプトはこんなかんじ。 動かしてみる こんなかんじで動作します。 $ python iam_group_tree.py admin_group └─ AdministratorAccess test_group…

PythonでAWSCLIを実行する

概要 Pythonのスクリプトの中でAWSCLIを実行してみます。 こんなかんじ こんなかんじで指定してあげることでAWSCLIを実行できます。 import subprocess subprocess.call(['aws', 's3', 'ls']) おわりに べんりだったりそうでなかったりしそう。 AWS認定資格…

インスタンスIDの一覧をPythonのリスト内包表記で取得する

概要 EC2インスタンスのIDの一覧をPythonのリスト内包表記をつかってかんたんに取得してみます。 前提 いずれも以下の様な感じで宣言してあるとする。 import boto3 ec2 = boto3.client('ec2') response = ec2.describe_instances() リスト内包表記の場合 こ…

CentOS7にPython3のpipをインストールしてデフォルトバージョンも変更する

概要 Python3.6がインストールされているCentOS7の環境にPython3用のpipをインストールしてみたいと思います。 手順 こんなかんじの手順でできます。 pipをインストールする 以下コマンドを入力します。 $ sudo yum install -y python36-pip デフォルトを設…

CentOS7にPython3をインストールしてデフォルトバージョンも変更する

概要 CentOS7の環境にPython3.6をインストールして、デフォルトで利用されるPythonも3.6のものに変更してみたいと思います。 手順 こんなかんじの手順でできます。 Python3.6をインストールする 以下コマンドを入力します。 $ sudo yum install rh-python36 …

Pythonで70分とか25時とかそういうのを実現させる

概要 Pythonで70分を1時間10分にしたい。 Pythonで25時を翌日の1時にしたい。 そういうのを実現させる。 前提 前提として以下をやってあげています。 from datetime import datetime,time,timedelta 70分を1時間10分にしたい 1時間は60分なので60で除算して…

Pythonで配列の要素の奇数番目と偶数番目を取得する

概要 Pythonで配列の奇数番目の要素と偶数番目の要素を取得してみたいと思います。 偶数番目の要素を取得する たとえばこんなかんじの配列があるとする。 num_array = [0,1,2,3,4,5] こんなかんじで指定してあげると偶数番目の要素を取得することができる。 …

Pythonで時差を計算してみる

概要 Pythonで時差を計算してみます。 スクリプト例 こんなかんじでtimedeltaを利用することで時差を計算することができます。 ちょっとした解説 8行目からの delta = timedelta(hours=時差) として、datetimeオブジェクトと足し算引き算することができます…