这个完整的测试脚本怎么样:import sys
def process(file):
for line in file:
arr = line.split()
if not arr:
continue
last = arr.pop()
n = len(arr)
if n == 4:
first, middle = ' '.join(arr[:2]), ' '.join(arr[2:])
elif n == 3:
if arr[0] in ('M', 'Shk', 'BS'):
first, middle = ' '.join(arr[:2]), arr[-1]
else:
first, middle = arr[0], ' '.join(arr[1:])
elif n == 2:
first, middle = arr
else:
continue
print 'First: %r' % first
print 'Middle: %r' % middle
print 'Last: %r' % last
if __name__ == '__main__':
process(sys.stdin)
如果在Linux上运行此命令,请键入示例行,然后按Ctrl+D表示输入结束。在Windows上,使用Ctrl+Z而不是Ctrl+D。当然,也可以在文件中使用管道。
以下输入文件:First Middle Last
M First Middle Last
First Shk Middle Last
BS First M Middle Last
提供此输出:First: 'First'
Middle: 'Middle'
Last: 'Last'
First: 'M First'
Middle: 'Middle'
Last: 'Last'
First: 'First'
Middle: 'Shk Middle'
Last: 'Last'
First: 'BS First'
Middle: 'M Middle'
Last: 'Last'