Pythonで標準入力

こんにちは。最初の記事でもう自分の知識不足が露呈してしまいましたが、
なんとかモチベーションを上げ下げしながら書いていきます。
今回の内容は比較的初心者向けなんではないですかね?
前回の次回予告と全く違う内容なのは申し訳ありません。

さて、本題へ入ります。
Pythonというプログラミング言語を覚えて、変数や関数、if文やfor文を覚えたあとは、やっぱり「ユーザから入力させる処理」をしたいと思うんですよね僕は。
Pythonにおける標準入力は、sysモジュールを使ったものもありますが、簡単にできるものもあります。
それが、raw_input関数です。


>>> var = raw_input()
#入力待ち状態
このように、raw_input()でユーザの入力を待ってくれます。
そのあと、ユーザが入力を終えた後にエンターを押すと、変数varが、その入力した文字列になります。
たとえば…

>>> var = raw_input()
Alice
>>> var
'Alice'
このような形です。
もし、ユーザに入力させる前に何か文字列を表示させたいなら、

>>> var = raw_input("What your name? >")
What your name? > #入力待ち
とすればできます。

僕はこのraw_inputを使って、簡易版Terminalを作ったことがあります。
OSモジュールと標準入力を使って、入力されるコマンドにたいして、適切なコマンドをおこす、というようなものです。

** 前回の応用 **

ここで、前回の応用をしてみたいと思います。
内容は、「raw_inputで取得したものをsplitで分割!」というものです。
たとえば、先に書いた簡易版Terminalを実装するとして、


fopen -cd ***.py
のように、コマンドの引数を取得したいとき。
みなさんはどうすればいいと思いますか?(コマンドは独自のものです)


>>> cmd = raw_input("cmd > ")
cmd > fopen -ce ***.py #←入力
>>> cmd
'fopen -ce ***.py'
>>> list = cmd.split() #この場合は空白で区切られます
['fopen','-ce','***.py']
このようにして、コマンド、引数、第二引数と取得することができます。
いろいろなパターンに応用できるので、ぜひみなさんもやってみてください!

** 次回予告 **

次回はOSモジュールの話か、sysモジュールを使った引数取得について書いてみようと思います。
以上Aliceでした。