The jonki

呼ばれて飛び出てじょじょじょじょーんき

【Python】 JsonAnalyzer.py

Json形式のファイルを読み込んで任意の要素を取り出すプログラム。
json.dumpsとかで出力したjsonを読み込んでます。自分のデータの解析用に書いたプログラムなので色々ハリボテなかんじ。あくまで参考程度でお願いします。

ソース

# -*- coding: utf-8 -*-
import sys
import simplejson
import jsonpy.json as json

if(len(sys.argv) < 3):
        print "Usage: python JsonAnalyzer.py <filename> <*param>"
        sys.exit()

filename = sys.argv[1]
param = []

for p in sys.argv[2:]:
        param.append(p)

f = open(filename, 'r')
while 1:
        s = f.readline()
        if not s:
                break
        data = json.read(s)
        out = ""
        for p in param:
                out += str(data[p]) + ","
        print out[:len(out)-1] #改行を除く
f.close()

【Python】 hostnameからlookupでIPアドレス変換

追記:2010年8月6日 逆引きに関する記述が間違っていたので訂正しました。

タイトルの通りhostnameからIPアドレスに変換するプログラム。
調べてみるとPythonのsocket使えば解決するみたい。

hostname => IP
socket.gethostbyname

IP => hostname
socket.gethostbyaddr

今回使うのはgethostbynameの正引きの方。

ソース (lookup.py)

# -*- coding: utf-8 -*-
import socket
import sys


def main():
        if(len(sys.argv) != 2):
                print "Usage: python lookup.py <host filename>"
                sys.exit()
        
        filename = sys.argv[1]
        fr = open(filename, "r")        
        ip_addr = []
        while 1:
                s = fr.readline()
                if not s:
                        break
                hostname = s[:len(s)-1]
                print hostname
                try:
                        print socket.gethostbyname(hostname)
                except:
                        print "0"
        fr.close()

main()

サンプルファイル (sample_hostname)

$ less sample_hostname 
www.google.com
www.yahoo.co.jp
twitter.com
hatena.ne.jp

実行例

$ python lookup.py sample_hostnames 
www.google.com
66.249.89.99
www.yahoo.co.jp
124.83.139.191
twitter.com
128.242.240.116
hatena.ne.jp
59.106.108.86