Как отфильтровать файл с помощью шаблона в другой файл с помощью Python? - PullRequest
0 голосов
/ 12 мая 2009

У меня есть словарь. Я хочу взять только слова, содержащие простой шаблон слов (то есть «корова»), и записать их в другой файл. Каждая строка начинается со слова, а затем определения. Я все еще очень новичок в Python, поэтому не очень разбираюсь в синтаксисе, но псевдокод в моей голове выглядит примерно так:

infile = open('C:/infile.txt')
outfile = open('C:/outfile.txt')

pattern = re.compile('cow')

for line in infile:
  linelist = line.split(None, 2)
  if (pattern.search(linelist[1])
    outfile.write(listlist[1])

outfile.close()
infile.close()

Я сталкиваюсь с множеством ошибок, любая помощь будет оценена!

Ответы [ 2 ]

2 голосов
/ 12 мая 2009
import re

infile  = open('C:/infile.txt')
outfile = open('C:/outfile.txt', 'w')

pattern = re.compile('^(cow\w*)')

for line in infile:
    found = pattern.match(line)
    if found:
        text = "%s\n" % (found.group(0))
        outfile.write(text)

outfile.close()
infile.close()
0 голосов
/ 21 декабря 2017

используя 'с открытым' и фильтром

import re
pattern = re.compile('^(cow\w*)')

with open(outfile,"w") as fw:
  with open(infile,"r") as f:
    for outline in filter(lambda x: not pattern.match(x.strip()),f):
      fw.write(outline)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...