python

リストと辞書と繰り返し

○回繰り返す >>> for i in range(0, 5): ... print u"%d回目" % (i + 1), ... 1回目 2回目 3回目 4回目 5回目 >>> >>> for i in xrange(0, 5): ... print u"%d回目" % (i + 1), ... 1回目 2回目 3回目 4回目 5回目 range() はリストを作って繰り返します。xr…

cursesサンプル

cursesというのは端末操作用のライブラリです。キーボードから入力を受け取ったり、画面に文字を表示したり、サブウィンドウを作ったり、カーソルを自由に移動させたりできます。もしかしたら vim っぽいものも作れるかもしれません。僕には vim は無理っぽ…

引数の受け取り方

仮引数にデフォルト値を設定する def test1(a, b, c=3): print a * b * c test(1, 2, 6) #=> 12 test(1, 2) #=> 6 a と b は必須、c はデフォルト値が設定されているので省略可能です。 デフォルト値が設定されるのは1回目の関数呼び出しの時だけです。つま…

引数の渡し方

def test(a, b, c=0, d=0, e=0): print "a=%d" % a, print "b=%d" % b, print "c=%d" % c, print "d=%d" % d print "e=%d" % e という関数があるとします。a、b は必須の引数、c、d、e はデフォルト値の設定されたオプションの引数です。 値だけを渡す test(…

lxmlでXMLをパースする

lxml を使ってItemSearchの結果をパースしてみます。 etree でXMLをパースする from lxml import etree root = etree.parse(sorce, parser=etree.XMLParser()) print root #=> <lxml.etree._ElementTree object at 0x01292850> source に指定できるのは、Fileオブジェクト、Fileオブジェクトと同じ read() </lxml.etree._elementtree>…

日本語を使う

str1 = "ほげ" str2 = r"ほげ" これらは文字列ですが、正確に言うと、指定された文字コードで変換されたバイト列というものです。 文字単位ではなくバイト単位で処理されるので、日本語のように1文字を2バイト以上で表すものを正しく扱うことができません。 …

文字列

文字列の扱いが Perl と少し違っていて戸惑ったのでメモ。 print は改行される print "hoge" print "hoge" hoge hoge 改行させたくない場合は、最後にカンマを置きます。 print "hoge", print "hoge hoge hoge ダブルクォートとシングルクォートの区別はない…

urllib2でWebからデータを取ってくる

急にPythonをいじってみたくなったのでインストールしました。とりあえずECS 4.0からデータを取ってくるスクリプトを書いてみます。 #!python # vim: fileencoding=utf-8 1行目はPerlと同じです。2行目はソースコードの文字コードを指定しています。必要なの…