我有一个包含以下数据的文件:
1xxy
(1gmh)
[white line]
ahdkfkbbmhkkkkkyllllkkjdttyshhaggdtdyrrrutituy
[white line]
__________________________________________________
Intra Chain:
A 32
__________________________________________________
PAIR 1MNS HE 10 NM A ARG 33 OX1 3.22 32
PAIR 1MNS UR 11 NM A ARG 33 OX2 3.21 12
PAIR IMNS UK 32 NH A ASN 43 OZ1 5.21 22
...
__________________________________________________
现在我想把它变成:
^{pr2}$即删除所有其他字符。 我尝试使用:
inp = open('c:/users/rox/desktop/1UMG.out','r')
for line in inp:
if not line.strip(): # to remove excess whit lines
continue
else:
z = line.strip().replace('\t',' ')
if z.startswith('PAIR'):
print z
inp.close()
但是这个代码也没有给我输出。无法找出z.startswith('PAIR')
不工作的原因。但到上一行还不错。在
除了@Levon的解释,由于file对象支持迭代器协议,并且根据文件的大小,可以使用列表理解:
看起来您只看到以
PAIR
开头的行,那么为什么不这样简单:将提供:
^{pr2}$此输出删除了前导的3个空格,如果需要,将它们重新添加进来是很简单的。在
注意:使用
with
将在完成操作或遇到异常时自动关闭文件。在相关问题 更多 >
编程相关推荐