... if 'ATOM' in line:
... x = line.split()
...
>>> x
'202'我这边没报错
怀疑分割不是空格,列出以下结果
cat -A PYL5.pdb 回复 4# 893932098
是受前面内容影响
这些行也包括ATOM,但列数不够6列
REMARK 3 PROTEIN ATOMS : 3200
REMARK 3 NUCLEIC ACID ATOMS : 0
REMARK 3 HETEROGEN ATOMS : 72
REMARK 3 SOLVENT ATOMS : 565
REMARK 3
因为你文本里其他行也是包括ATOM这个字符串的,你可以选择用if line.startswith('ATOM'):来判断 这样的话 应该不会出错了,具体代码如下#! usr/bin/python
for line in open('PYL5.pdb'):
if line.startswith('ATOM':
x=line.split()
print x一般字符串判断前后的最好使用startswith/endswith
>>> for line in open('test'):
... if 'ATOM' in line:
... x = line.split()
...
>>> x
'37'
按照你给的数据的结果
页:
[1]