python

インフラエンジニアならpythonだよね

「インフラエンジニアならプログラミング知識とかいらないよね?」 「プログラミング苦手だからインフラやろうかな。」たまにこんなことを耳にします。 そんなこと言う人がいるんだな~とちょっと驚きました。たしかにインスタンスはawsとかでボタンポチポチ…

【Python】TypeError: f() takes exactly 1 arguments (2 given)

エラーを調査してましたら、うっかり紛らわしいケースが見つかりました。関数を実行するときに引数の数が正しくないと、タイトルのようなエラーがでます。 例1 ためしに、引数が正しい処理と正しくない処理を実行してみます。 test.py def printNum(a, b): p…

【Python】IndentationError: expected an indented block

うっかりしてるとこんなエラーがでることがあります。期待したインデントがないよ!ってことです。 例1 test.py def printStr(text): print(text) # <--インデントなし printStr("hogehoge") 実行結果 File "test.py", line 3 print(text) ^ IndentationErro…

【python】組み込み関数open()でTypeError: an integer is required

open()でファイルを読み込もうとしたら こんなエラーがでた。 file = "zzz_test.txt" with open(file, "r", "utf-8") as f_r: print f_r.readline() Traceback (most recent call last): File "zzz_opentest.py", line 3, in <module> with open(file, "r", "utf-8")</module>…

pythonでシェルを実行する方法

サーバーでのちょっとした処理をpythonで書くことがあるんだけど pythonからシェルを実行するのどうやるんだっけ? 毎回忘れてしまうので、メモしておく。 とりあえずの使い方 import subprocess cmd = "ls -l" subprocess.Popen(cmd, shell=True) subproces…

Cent OSにawslogs-agent 入れようとして苦労した話

EC2インスタンスからパカパカログを検知して cloudwatchに入れたいねという依頼があったのでやってみた。 苦労したところがあったのでメモ。pythonのバージョン差異でエラーが出る出ないがあるようだった。 でも調べることが目的じゃないので精査してない。…

pythonでユーザー名を取得する

ユーザー名の取得方法はいろいろあります。 下記のやり方があります。 ユーザー名の取得 【未経験からプログラマ】完全無料であなたの就職をサポート そんで調べてたらgetpass.getuser()のソースを調べてる人がいて LOGNAME, USER, LNAME, USERNAME から値を…

pythonでホスト名を取得する。

ホスト名の取得方法はいくつかあるようです。 下記で簡単に取得できます。 ホスト名を取得 ホスト名はどこからとってるのかなと調べてたら こんなpythonの実行もあるのか! github.com python 実行する時に -c でスクリプトを実行できるんですね。 これは便…

文字列数字をint型数値リストに変換

config に数値を書いておいて、その数値リストを使いたい場合があります。 そこで取得した文字列数字をsplitで分割しても、単なる「string」の数字のリストになってしまうんですよね。 でどうしよっかなと、俺の性能が良くない頭で考えてしまうと それぞれの…

logging formatで定義に無いものを書く方法

以前のブログでlogging.propertyの書き方を書いていました。 suganoo.hatenablog.com ※logging.propertyだかlogging.confだか、どっちが適切な表現なのかはここでは置いておく。 logging.confを書いている時に、あれこんなことできないかなと悩みました。 ロ…

【globals()の使い方】文字列のクラス名からインスタンス生成する

こんな処理をするスクリプトを作っていました。 ログをダウンロードして ログパースして webサーバーにアップロード このログをパースする処理なんだけど、ダウンロード/アップロードは変わらない。 ログの種類がある程度決まってるから、実行する時にログパ…

pythonでlistの重複を除くにはsetが便利

pythonにはrubyのようにuniq関数は無いようです。 リストの値をsetにして、再度リストにすると重複が除かれます。 なんで順番くずれるんだろうね。 リストで重複除く

JSONパースのTypeError: string indices must be integersでハマった

jsonパースのところで値を取得しようとしたら、TypeErrorとかのエラーが出た。なんだこりゃ、全然わかんねーと、かなりもがいてしまった。 SQSからもらうメッセージみてもぜんぜんjson形式として悪いところはなさそう。ダブルクオーテーションが悪いのか!?…

2か所にあるファイル存在を比較するにはsetが便利

2か所にファイルを保管してて、それらのファイルの存在確認をすることがあった。具体的に言うと、例えば Webサーバー上にあるファイルと、ローカルに保管したファイルが同じと仮定。 それが一致しないことがあるから、数が一致してるかを確認したい。 もしく…

pythonで空ファイルだけ作る

pythonで空ファイルだけを作る 【未経験からプログラマ】完全無料であなたの就職をサポート 退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング 作者: Al Sweigart,相川愛三 出版社/メーカー: オライリージャパン 発売日:…

ConfigParserでkeyの存在確認をする

configファイルでkeyの存在確認できないかなーと思ったので書いてみた ConfigParserでkeyの存在確認する みんなのPython 第4版 作者: 柴田淳 出版社/メーカー: SBクリエイティブ 発売日: 2016/12/22 メディア: 単行本 この商品を含むブログ (2件) を見る ゲ…

プログレスバー使い方

qiita見てたら、まさにこれ!使いたかったーって記事を見つけた。 参考サイトはここです qiita.com torina.top プログレスバー使い方

ConfigParser使い方

gist2f1dca13c04a846a7bc92ae42504d336

ArgumentParser使い方

ArgumentParserの使い方 このように書いて python hoge.py --config hage --logtype fuga こんな風に実行します。

logging.propery のテンプレート

よく使うのでテンプレートをメモしておく logging propertyのフォーマット pythonならこれを import logging import logging.config logging.config.fileConfig(”(logging property path)”) self.logger = logging.getLogger("hogehogetool")

pythonのtips

wonderwall.hatenablog.com おもしろい記事を見つけた。 pythonのテクニック。メモしておこう。 元ネタはここらしい github.com

「パーフェクトPython」基礎力をつける

パーフェクトPython (PERFECT SERIES 5) 作者: Pythonサポーターズ,露木誠,ルイス・イアン,石本敦夫,小田切篤,保坂翔馬,大谷弘喜 出版社/メーカー: 技術評論社 発売日: 2013/03/05 メディア: 大型本 購入: 1人 クリック: 65回 この商品を含むブログ (30件) …