我想用Python阅读网址中的数字列表,例如:
1,2,3,4,5,6
2,3,2,3,2,3
etc
我试过了:
list.append([int(n) for n in line.strip().split(',')])
但我使用的是Python 3.2,这给出了错误:“TypeError:Type str不支持缓冲区API”,因为Python 3将输入作为字节读取。
所以我尝试将该行转换为字符串:
list.append([int(n) for n in str(line).strip().split(',')])
但是现在我在每行的开头都有b',错误:ValueError:int()的无效文字,基数为10:“b'1”
是否有一种优雅的方式来获取这些数字,或者我是否需要捕获字符串,删除前两个字符,然后转换为int?
答案 0 :(得分:2)
您需要解码字节到文本:
line = line.decode('ascii')
然后拆分该行并转换为整数:
list.append([int(n) for n in line.split(',')])
int()
可以处理额外的空格,因此不需要剥离。