-1
def match_text(raw_data_file, concentration):
    file = open(raw_data_file, 'r')
    lines = ""
    print("Testing")
    for num, line in enumerate(file.readlines(), 0):
        w = ' WITH A CONCENTRATION IN ' + concentration
        if re.search(w, line):
            for i in range(0, 6):
                lines += linecache.getline(raw_data_file, num+1)
                try:
                    write(lines, "lines.txt")
                    print("Lines Data Created...")
                except:
                    print("Could not print Line Data")
        else:
            print("Didn't Work")

我正在尝试打开一个 .txt 文件并搜索特定的字符串。

4

2 回答 2

0

如果您只是尝试将保存字符串的所有行写入文件,则可以这样做。

def match_text(raw_data_file, concentration):
    look_for = ' WITH A CONCENTRATION IN ' + concentration
    with open(raw_data_file) as fin, open('lines.txt', 'w') as fout:
        fout.writelines(line for line in fin if look_for in line)
于 2016-03-14T05:27:23.083 回答
0

修复了我自己的问题。以下用于查找特定行并获取匹配行之后的行。

def match_text(raw_data_file,match_this_text):
    w = match_this_text
    行 = ""
    使用 open(raw_data_file, 'r') 作为 inF:
        对于 inF 中的行:
            如果 w 在行:
                lines += line //将匹配的文本添加到lines字符串中
                对于我在范围内(0,然而_many_lines_after_matched_text):
                    行 += 下一个(inF)
                //用'lines'做一些事情,这是最终的多行文本

这将返回多行加上用户想要的匹配字符串。如果问题令人困惑,我深表歉意。

于 2016-03-14T16:45:15.923 回答