如何在以00000开头的文件中查找字符串并将其复制到另一个文件中

时间:2014-09-17 19:57:24

标签: python

例如我有

0000022c7caab3ac515777b611af73afc3d2ee50
deb46f052152cfed79e3b96f51e52b82c3d2ee8e
00000dc7cc04ea056cc8162a4cbd65aec3d2f0eb

我必须将从00000开始的字符串(即第1行和第3行)从文本文件剪切并粘贴到另一个文本文件中。

3 个答案:

答案 0 :(得分:3)

with open('in.txt', 'r') as fin, open('out.txt', 'w') as fout:
    for line in fin:
        if line.startswith('00000'):
            fout.write(line)

答案 1 :(得分:1)

您可以使用string方法startswith

with open('text.txt', 'r') as f:
    print [i.strip('\n') for i in f if i.startswith('00000')]

输出

['0000022c7caab3ac515777b611af73afc3d2ee50',
 '00000dc7cc04ea056cc8162a4cbd65aec3d2f0eb']

答案 2 :(得分:0)

在I / O,正则表达式和字符串模式匹配方面非常慢,Python绝对是这项任务的错误工具。

使用grep代替:

$ grep '^00000' source.txt > destination.txt

^00000模式在文件source.txt中搜索以00000开头的行。结果将打印到标准输出,并重定向到文件destination.txt