我刚刚编写了一个函数,它将查看文本文件并计算文本文件中 True 和 False 的所有实例。这是我的文件
ATOM 43 CA LYS A 5 14.038 15.691 37.608 1.00 15.15 C True
ATOM 52 CA CYS A 6 16.184 12.782 38.807 1.00 16.72 C True
ATOM 58 CA GLU A 7 17.496 12.053 35.319 1.00 14.06 C False
ATOM 67 CA VAL A 8 18.375 15.721 34.871 1.00 12.27 C True
ATOM 74 CA PHE A 9 20.066 15.836 38.288 1.00 12.13 C False
ATOM 85 CA GLN A 10 22.355 12.978 37.249 1.00 12.54 C False
这是我的代码
def TFCount(txtFileName):
with open(txtFileName, 'r') as e:
T = 0
F = 0
for record in e:
if(re.search(r'^ATOM\s+\d+\s+\CA\s+\w+\s+\w+\s+\d+\s+\d+\.\d+\s+\d+\.\d+\s+\d+\.\d+\s+\d+\.\d+\s+\d+\.\d+\s+\w+\s+\T', record)):
T += 1
else:
F += 1
print(T)
print(F)
如果我的正则表达式读起来又长又乏味,我深表歉意,但这是我知道的计算文件中 True 出现次数的唯一方法。可以看到,程序每次遇到True,都会给变量T加1,否则会给变量False加1。尝试运行程序后,解释器返回错误:bad escape \C。这个错误是什么意思?我的代码中是什么导致了它?
你有\C
在正则表达式的第一部分
r'^ATOM\s+\d+\s+\CA
你应该只写CA
r'^ATOM\s+\d+\s+CA
无需逃避。
后来你也有同样的\T
.
\X
意味着逃脱X
大多数时候是正则表达式中的特殊序列,例如\d
对于一个数字或\s
为空白。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)