2015-02-16 2 views
-3

Благодарим за помощь. У меня проблемы с скриптом, использующим python.Считайте слова более 3 символов с помощью python?

У меня есть .txt-файл, который я бы хотел написать сценарий для анализа.

file = practice.txt 

Я хотел бы прочитать файл, отдельный файл на слова без каких-либо знаков препинания, и генерировать подсчет слов, которые имеют более 3-х символов и произвести вывод следующим образом: «Есть х слова на практике .txt, которые имеют более 3 символов ".

Как вы предлагаете мне это делать? С петлей for?

+2

что ты стараешься до сих пор? Вы делали какие-либо поиски здесь по SO для подобных вопросов? – aberna

+0

Без знаков препинания вы хотите исключить слова с апострофами, как сокращения? –

+0

'import re; lambda: len (re.findall ("\ w {3,}", open ('путь/to/file.txt'). read())) ' –

ответ

1

Если вы не хотите использовать регулярные выражения:

word_length = 3 
file = 'practice.txt' 
with open(file) as f: 
    cnt = 0 
    for word in f.read().replace('.','').split(): 
     if len(word) <= word_length: 
      continue 
     cnt += 1 
print("There are {} words in {} that have over {} characters".format(
    cnt, file, word_length)) 
+0

Спасибо - очень полезно! – Peter

+0

Просто имейте в виду, что есть место для значительных улучшений. –

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