mattintosh note

どこかのエンジニアモドキの備忘録

Python

Python GeoIP 系のメモ

最近 Python で GeoIP を使うことが多いけど、なんか色々種類があってわからなくなってきたのでちょっとまとめておく。 GeoIP2 maxminddb GeoIP データベースファイル(GeoLite2-City.mmdb)は下記からダウンロードできる。 GeoLite2 Free Downloadable Data…

🐧 Python と GTK で GUI を作ってみる

Linux でも簡易の GUI を作りたいな〜と思っていて Linux Mint に搭載されている mintstick のソースを見てみたらなんと import gi.repository from Gtk だけで作れちゃうことが判明。Mac OS X の AppleScript よか面倒だけど色々カスタマイズできるし、何よ…

Python で Plist を解析する

Plist の解析は /usr/libexec/PlistBuddy でも可能だが一時ファイルが必要になる。Python の plistlib は文字列からも解析ができるので一時ファイルが不要。 import subprocess import plistlib # plist を取得 plist = subprocess.Popen(["system_profiler"…

DownloadThemAll でダウンロードしたファイルの文字化けを直す

Firefox のアドオン『DownloadThemAll!』(DTA)で日本語のファイルをダウンロードすると稀にデコードされない状態で保存される。例えば ファイル.zip であれば %E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB.zip のような状態。 OS X のアーカイブユーティリティで…

Python で patch コマンド

ググってみたけどすぐ出てこなかったのでメモ。Python の機能にはないのかな?とりあえず subprocess で。そのうちマニュアル見てみよ。 from subprocess import check_call check_call(["patch", "-Np1"], stdin=open("/tmp/patch.diff", "r")) Pythonスタ…