標準入力の読み込みについてのメモ

はてなグラフで体重、体脂肪率を記録することにしたbonlifeです。1日分ではグラフが描画されてないように見えて、「あれ、設定間違っちゃったかしら…。」と何度も設定をチェックしてしまいましたよ。コノヤロウ。それはそれとしてPythonで簡単なコマンドラインツールを作ろうと思っていたところ、いきなり躓いてしまったので忘れないようにメモメモです。
標準入力からの読み込み。対話形式でユーザに何かしら入力させるアレ。Perlだったらで読み込んでchomp()とかするじゃないですか。あれの真似をしてをsys.stdin.readline()に、chomp()をstrip()に置き換えてやってみたら、あらまぁ!

import sys

print "username : " ,
user_name = sys.stdin.readline().strip()
print user_name
print "hoge"

出力結果は以下の通り。(bonlifeと入力)

username : bonlife
 bonlife
hoge

行頭になんか変なスペースが入る罠!気持ち悪い!なんなの、コレは。
ということで、調べてみるとinput()とかraw_input()あたりを使えば良いらしい。参考にしたのはこちら。(ググる際、「Python コマンドライン」とか「Pytho ユーザ入力」では目的の情報に到達できず。「Python 標準入力」がナイス検索ワードだったみたいです。)

user_name = raw_input('user_name : ')
print user_name
print "hoge"
username : bonlife
bonlife
hoge

うむ。これで誰かの真似して何かしら出来そうです。って安心して何も作らないような(苦笑)。ちなみにDive Into Pythonの4章を読んでる最中です。3月中に通読したいところ。