我有一个函数的给定输入文件的规则列表。如果在给定的文件中有任何违反,我希望程序返回错误消息并退出。在
因此,对于以下线路:
邮编:001003443 chr11+5997152 5927598 5921052 5926098 1 59287525925972,59272045396098, NM_001003444 chr11+5925152 5926098 5925152 5926098 2 5925152925652,59254045926098, NM_001003489 chr11+5925145 5926093 5925115 5926045 4 592515159255762,59874045908098, 等等
文件中的每一行都是这一行的变体
因此,我要确保文件中的每一行都在chr11上
不过,我可能会得到一个文件,上面有不同的chr列表(以及任意数量的数字)。因此,我要确保在这一行找到的任何一个数都是相同的。在
我应该为此使用正则表达式,还是应该怎么做?顺便说一下,这是python语言。在
例如:chr\d+? 我不确定如何确保匹配的每一行都是相同的。。。在
我目前有:
from re import *
for line in file:
r = 'chr\d+'
i = search(r, line)
if i in line:
但我不知道如何确保每一行都是一样的。。。在
参考sajattack的回答
^{pr2}$
只需读取该文件并对每一行进行while循环检查,以确保它包含
chr11
。有一些字符串函数可以在字符串中搜索子字符串。一旦找到返回false(不包含chr11
)的行,就跳出循环并设置一个标志valid = false
。在这应该在行中搜索一个数字并检查其有效性。在
假设第一个chr是正确的吗?如果是,请使用以下方法:
“从我的组收集匹配的数字”字符串。在
注意事项:
预编译用于速度的正则表达式。
使用原始字符串(
r''
)指定正则表达式。模式要求在
chr
字符串的任一侧有空格(\s
)。如果第一行没有好的}。然后它返回一个布尔值,如果下面的所有行都与第一行的
chr
值,则is_valid()
返回{chr
值匹配,则该值为true。您的示例代码只打印了
The file is True
这样我就更友好了。相关问题 更多 >
编程相关推荐