Python 如何打印文件中与大文本文件中的输入字符串匹配的特定行?

Python 如何打印文件中与大文本文件中的输入字符串匹配的特定行?,python,python-2.7,Python,Python 2.7,这是我的代码,我的目标是打印大文本文件中的特定整行,其中字符串等于“SAMPLE TYPE”,当我尝试在对象中打印时,如何打印整个文件中的指定行 import re target = open("debug.txt", "r") for line in target: search=re.search("[SAMPLE TYPE]",line) v1=search print v1 给出以下输出: None None None None None <_sre.SR

这是我的代码,我的目标是打印大文本文件中的特定整行,其中字符串等于“SAMPLE TYPE”,当我尝试在对象中打印时,如何打印整个文件中的指定行

import re
target = open("debug.txt", "r")
for line in target:
    search=re.search("[SAMPLE TYPE]",line)
    v1=search
    print v1
给出以下输出:

None
None
None
None
None
<_sre.SRE_Match object at 0x7f870b7d5578>in this place instead of this i need to print the specifed line and i dont want the lines which doesnt contain specifed string.
尝试:


当返回的正则表达式对象找不到任何内容时,其计算结果将为False。

Python regex
search
方法返回match对象或None(如果找不到任何内容)。要从匹配对象获取字符串,需要调用
.group()

[1]中的
:导入re
在[2]中:检索(“a”、“aaa”)
出[2]:
在[3]中:检索(“a”、“aaa”).组()
Out[3]:“a”

请查看左右的问题。

这是如何做到的:

with open("debug.txt", "r") as target:
    for line in target:
        if "[SAMPLE TYPE]" in line:
            print(line)

请注意,我使用了上下文管理器(带有语句的
)来打开文件。此外,如果只想在另一个字符串中查找子字符串,则不需要
re

从:re.search返回一个实例。文档向您展示了如何访问搜索到的字符串,例如使用
v1.group(0)

打开包含debug1,2,3,4,5文件的文件夹,并检查相同的字符串意味着在os.listdir(DIR\u NAME)中导入os文件名:重复上面的内容\u代码片段如果我有文件夹示例ABC,它包含不同的文件1、2、3、4、5,我必须一次读取所有文件并搜索字符串,如果文件1有字符串,它将以相同的方式复制到文件1的单独文件中。文件2可以详细说明,以便它可以帮助我打印样本类型后的字符串并删除不必要的细节我想检查一下我的理解,我们有一个文件夹ABC,里面有1.txt,2.txt,3.txt。需要在所有这三个文件中搜索字符串,如“Ravi”,如果找到匹配项,则需要将其复制到新文件。这是你想要的吗?
import os
os.system('grep -rnw "[FOLDER_NAME]" -e "SEARCH_STRING" > OP.txt')
if search:
    print(line)
In [1]: import re

In [2]: re.search("a", "aaa")
Out[2]: <_sre.SRE_Match at 0x7fe3514e98b8>

In [3]: re.search("a", "aaa").group()
Out[3]: 'a'
with open("debug.txt", "r") as target:
    for line in target:
        if "[SAMPLE TYPE]" in line:
            print(line)