【发布时间】:2016-11-13 06:04:52
【问题描述】:
我正在学习 Python,目前正在阅读文件,拆分行,然后打印特定元素。不过,我在拆分多次时遇到了麻烦。我正在处理的文件有很多行看起来像这样
c0_g1_i1|m.1 gi|74665200|sp|Q9HGP0.1|PVG4_SCHPO 100.00 372 0 0 1 372 1 372 0.0 754
我正在尝试拆分它,首先通过制表符和换行符“/t/n”,然后用 | 拆分元素,我尝试过 .split 和 .strip,但运气不佳。我想如果我只在一行上工作,我可以把这个想法记下来,然后把它修改成一个可以访问文件的循环
blast_out = ("c0_g1_i1|m.1 gi|74665200|sp|Q9HGP0.1|PVG4_SCHPO 100.00 372 0 0 1 372 1 372 0.0 754")
fields = blast_out.strip(' \t\r\n').split()
subFields = fields.split("|")
print(fields)
print(subFields)
打印(字段)
['c0_g1_i1|m.1', 'gi|74665200|sp|Q9HGP0.1|PVG4_SCHPO', '100.00', '372', '0', '0', '1', '372', '1', '372', '0.0', '754']
print(subFields) 产生错误
subFields = fields.split('|')
AttributeError: 'list' object has no attribute 'split'
这就是我所做的,只是为了尝试去除空格和制表符,然后在 | 上进行拆分。但它似乎没有做任何事情。最终我想要的这个单个字符串的输出将是
c0_g1_i1 m.1 Q9HGP0.1 100.0
【问题讨论】:
-
.strip()是多余的,.split()为您删除。