从输入字符串到 namedtuple python 2.7

From an input string to namedtuple python 2.7

你好,我是 python 的新手,我想知道他们是否离开阅读一行并将其转换为 namedtuple 我会解释我有这两行

MARKS      CLASS      NAME       ID        
92         2          Calum      1 

第一行:

line = raw_input()
person = namedtuple('person',line)

我创建了我的命名元组

现在,当我正在阅读第二行时,我不知道如何将这些信息插入命名元组中,我试图将其拆分 这些方法我都试过了,还是不行

>>> line = raw_input().split(' ')
92         2          Calum      1 
>>> line
['92', '', '', '', '', '', '', '', '', '2', '', '', '', '', '', '', 
'', '', '', 'Calum', '', '', '', '', '', '1', '']
>>> line = raw_input().split('/t')
92         2          Calum      1 
>>> line
['92         2          Calum      1 ']
>>> line = raw_input().split('        ')
92         2          Calum      1 
>>> line
['92', ' 2', '  Calum      1 ']
>>> 

无论我在尝试什么,我都不能有 4 个参数所以如果你知道如何将这个字符串拆分成列,请帮助我 谢谢你 亲切地

只需使用 split() 即可在任何空白字符(制表符或多个空格)处进行拆分。所以

line = raw_input()
args = line.split()

然后,因为 namedtuple 接受多个参数,而不是一个列表,您只需使用 * 运算符 展开 参数列表。

person = Person(*args)

所以我的答案是使用'\t'而不是'/t'

a=raw_input().split('\t')