2014-01-16 3 views
1

У меня есть файл почти 1500 строк, который содержит символы, как ") (() (& & ^% &^а% & # @% ^% * & ^" Alongwith некоторые два или три алфавитов в весь файл.Как искать символы, присутствующие в файле в python?

Как я искать эти алфавиты в таком файле и отображения найденных алфавитов на р экране о /.

+0

Так что, если буквы 'Ā',' 'b' и C' посыпают через этот гигантский файл , вы хотите вывести 'ABC'? –

+0

да или что-то вроде a, b, c ... – codefreak

+0

Я хочу сказать, что любой символ, такой как a, b, c .... z, может присутствовать в этом файле, а o/p должен отображать символы, которые присутствуют в это как d, e должно быть o/p, если содержимое файла «*) (*) (& (&^&% $ ^% $ # d^& ^% & * e *)()" – codefreak

ответ

8

Вероятно, самый быстрый способ будет сделать

import re 
with open("giantfile.txt") as infile: 
    print(re.findall("[A-Za-z]+", infile.read())) 
+0

+1 –

+0

@tobias_k: Возможно, скорее прочитайте файл в (больших) фрагментах, но да, зависит от структуры файла. –

+0

это было прекрасно – codefreak

2

Основываясь на ответе Тима, вы можете использовать этот код для сохранения некоторой памяти.

import re 

alphas = [] 
with open("giantfile.txt") as infile: 
    for row in infile: 
     alphas.extend(re.findall("[A-Za-z]+", row)) 

print alphas 

С учетом этого входного файла:

aaa 
bbb 
c12d 

Выходной сигнал будет

['aaa', 'bbb', 'c', 'd'] 
+0

Он отлично работает благодаря :) – codefreak

Смежные вопросы