我刚刚编写了一个函数,它会查看文本文件并计算文本文件中所有 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
用于空格。
关于python - 是什么导致 Python 错误 'bad escape\C'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53327992/