1

raw_input()から複数のコマンドを取得したいと思います。私はこれを使用しています:

reply = raw_input(">").split(' ')

command = reply[0]

file = reply[1]

しかし、これは私には非常にハッキーに思えますが、Pythonでこれを行うためのより良い方法はありますか?

4

2 に答える 2

2

私は最もpythonicな方法は

command,file = raw_input(">").split()

インデックス作成の代わりにタプルアンパックを使用

Python3.0以降では、次を使用できます

command,file,*everything_else = raw_input(">").split()#untested
于 2012-07-31T15:18:53.783 に答える
1

これは、複数のコマンドを読み取るための完全に許容できる方法です。分割を使用せずにそれを行う方法は実際にはありません。注意しなければならない唯一のことは、スペースは任意のスペースで分割されるため、引数の終わりを描くことしかできないということです。

編集:複数のスペースで問題が発生した場合は、split()の代わりにを使用してsplit(' ')ください。これには、1つの分割として複数の空白が必要になります。

于 2012-07-31T15:20:35.280 に答える