我想从raw_input()获取多个命令。我一直在使用这个:Python:扫描raw_input
reply = raw_input(">").split(' ')
command = reply[0]
file = reply[1]
但这似乎很hacky对我有没有更好的方法来做到这一点在Python中?
我想从raw_input()获取多个命令。我一直在使用这个:Python:扫描raw_input
reply = raw_input(">").split(' ')
command = reply[0]
file = reply[1]
但这似乎很hacky对我有没有更好的方法来做到这一点在Python中?
我相信最Python的方式是
command,file = raw_input(">").split()
使用元组拆包而非索引
在Python3.0 +,你可以使用
command,file,*everything_else = raw_input(">").split()#untested
这是一个完全可以接受的读取多个命令。如果不使用拆分,没有办法做到这一点。唯一需要注意的是空格只有描述了一个参数的结尾,因为它会在任何空间上分割。
编辑:如果您有多个空格有问题,请使用split()
而不是split(' ')
。这将需要多个空格作为一个分割。
是的,我注意到如果我碰到一个双倍空间,它会抛出一个错误。我希望有更好的办法。 – 2012-07-31 15:28:35
如果您在我上面的回复中注意到,它更容易使用.split()而不是.split(''),因为.split()会在任何空白处分割,但也可能是问题。 – 2012-07-31 15:31:40
Yup看到了,并且已经测试了它,只是等着除了:) – 2012-07-31 15:33:15
这里假设在raw_input(“>”)中只有2个项目。split('') – 2012-07-31 15:19:22