- Вывести количество символов и строк из текстового файла
- Решение
- Подсчет строк, слов и символов в файле
- Подсчет количества слов(вхождений) и символов в текстовом файле в Python
- Пример 1
- Пример 2: с несколькими строками
- Подсчет количества символов в текстовом файле
- Пример подсчета
- Пример 2: без учета пробелов
- Синтаксис
- Пример count()
Вывести количество символов и строк из текстового файла
4. Даны текстовый файл. Вывести количество символов и строк, содержащиеся в нем (маркеры концов строк и конца файла при подсчете количества символов не учитывать).
Добавлено через 2 часа 44 минуты
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
import sys fname = sys.argv[1] lines = 0 words = 0 letters = 0 for line in open(fname): lines += 1 letters += len(line) pos = 'out' for letter in line: if letter != ' ' and pos == 'out': words += 1 pos = 'in' elif letter == ' ': pos = 'out' print("Lines:", lines) print("Words:", words) print("Letters:", letters)
Вывести количество строк, слов и символов текстового редактора
Всем добрый день. Подскажите пожалуйста. У меня есть текстовый редактор, внизу Мемо находится.
Обработка строк символов по информации из текстового файла. Вывести текст словами
Задано некоторое натуральное число k. Требуется вывести весь текст словами (например, при k=5.
Обработка строк символов по информации из текстового файла. Вывести в виде фразы «мне k лет»
Задано некоторое натуральное число k. Требуется вывести весь текст словами (например, при k=5.
Спросить у пользователя адрес текстового файла, открыть файл и посчитать в нем количество символов и строк
1. Напишите программу, которая запрашивает у пользователя имя (адрес) текстового файла, далее.
Сообщение было отмечено Надиня как решение
Решение
with open('answer.txt') as f : lines = f.readlines() print(lines) print(len(lines)) for line in lines : print(len(line))
1 2 3 4 5 6 7 8 9 10 11 12 13
with open('answer.txt') as f : lines = f.readlines() print(lines) print() print(len(lines)) print() k = 0 for line in lines : line = line.replace('\n','').replace('\t','') k += len(line) print(len(line)) print() print(k)
Вывести слова текстового файла с длинной больше 7 символов и посчитать их количество
Если в файле несколько строк, оно с помощью strtok разбивает их на строки, а мне нужно на слова.
Дан текстовый файл. Вывести количество содержащихся в нем символов и строк (маркеры концов строк EOLN и конца файла EOF при подсчете количества символ
Дан текстовый файл. Вывести количество содержащихся в нем символов и строк (маркеры концов строк.
Найти количество символов всех строк файла и количество символов в определенной строке
Здравствуйте! Я хотел бы попросить помощи в решении задачки! У меня не получается найти.
Обработка строк символов по информации из текстового файла
Помогите пожалуйста исправить задачку, нужно чтобы выводило на экран большое количество чисел, и.
Обработка строк символов по информации из текстового файла
Задано некоторое натуральное число k. Требуется вывести весь текст словами (например, при k=5.
Разбиение текстового файла, содержащего четное количество строк, на два текстовых файла
1 разбиения текстового файла, содержащего четное количество строк, на два текстовых файла, в каждый.
Подсчет строк, слов и символов в файле
Цикл for языка Python извлекает из файлового объекта данные построчно (одну строку на каждой итерации цикла). Таким образом, количество итераций цикла определит количество строк в файле.
Встроенная функция len() языка Python считает количество элементов в передаваемой в нее структуре. С ее помощью находится количество символов в каждой строке.
Строковый метод split() разбивает строку на части. По-умолчанию разделение происходит по местам расположения пробелов в строке. Таким образом, мы можем определить количество слов в каждой строке, посчитав с помощью len() слова в получившемся после применения split() списке.
На каждой итерации цикла мы должны добавлять полученные значения к переменным, хранящим общие количества строк, слов и символов.
file = open('text.txt') lines = 0 words = 0 symbols = 0 for line in file: lines += 1 words += len(line.split()) symbols += len(line) print("Lines:", lines) print("Words:", words) print("Symbols:", symbols)
Пусть содержимое файла text.txt будет таким:
one two three city town big small
Тогда программа даст следующий результат:
Lines: 3 Words: 7 Symbols: 34
Cимволами считаются не только буквы, также пробелы и переходы на новую строку (символ ‘\n’ ). Если требуется не учитывать переход на новую строку как символ, его можно «отрезать» с помощью строкового метода strip() . Делается это перед тем, как строка передается в функцию len() : symbols += len(line.strip(‘\n’)) .
Если данную задачу надо решить без использования продвинутых возможностей (встроенных функций и методов) языка программирования Python, а в рамках изучения алгоритмов или на более «низком» уровне, то программа может выглядеть так:
file = open('text.txt') text = file.read() lines = 0 words = 0 symbols = 0 in_word = False for char in text: symbols += 1 if char == '\n': lines += 1 if char != ' ' and char != '\n' and in_word == False: words += 1 in_word = True elif char == ' ' or char == '\n': in_word = False print("Lines:", lines) print("Words:", words) print("Symbols:", symbols)
Здесь на каждой итерации цикла мы имеем дело не с целой строкой, а с очередным символом. При этом увеличиваем на единицу переменную, хранящую количество символов, и, если текущий символ — это переход на новую строку, переменную для подсчета количества строк.
Для подсчета слов требуется определить в программе еще одну переменную, в которой будет хранится «сигнал», находимся ли мы внутри слова. Если это так, то очередной непробельный символ не следует считать началом нового слова и не надо увеличивать счетчик слов.
Алгоритм подсчета слов в программе выше следующий. Если текущий символ не пробел И не переход на новую строку, И ранее мы находились вне слова ( in_word == False ), то есть соблюдены все три условия сразу, значит началось новое слово. Поэтому увеличиваем счетчик слов и устанавливаем in_word в значение True . Последнее действие позволит на следующей итерации цикла, при условии обработки второй и послеющих букв слова, не соблюдаться условию in_word == False и не увеличивать счетчик слов.
Мы «сбрасываем» in_word в False , только когда встречаем пробельный символ ИЛИ переход на новую строку (любое одно из двух условий).
Программа выше, также как в первом варианте, считает переход на новую строку за символ. Если требуется его исключить, можно поместить увеличение значения счетчика символов в ветку else :
. for char in text: if char == '\n': lines += 1 else: symbols += 1 .
В этом случае если очередной символ — это переход на новую строку, увеличивается счетчик строк. В остальных случаях, — счетчик символов.
Если файл большой, то считывать сразу все его содержимое в строковую переменную ( text = file.read() ) неблагоразумно. Если читать файл посимвольно ( file.read(1)) , то условием завершения работы цикла будет момент возрата методом read() пустой строки, что означает конец файла (в других языках может быть специальный символ конца файла, доступный через идентификатор EOF — end of file).
lines = 0 words = 0 symbols = 0 in_word = False with open('text.txt') as file: while True: char = file.read(1) if char == '': break symbols += 1 if char == '\n': lines += 1 if char not in (' ', '\n') and not in_word: words += 1 in_word = True elif char in (' ', '\n'): in_word = False print("Lines:", lines) print("Words:", words) print("Symbols:", symbols)
В этом примере для открытия файла используется оператор with , который рекомендован для работы с файлами. Выражения char not in (‘ ‘, ‘\n’) and not in_word и char in (‘ ‘, ‘\n’) по смыслу аналогичны соответствующим логическим выражениям из предыдущих вариантов программы.
Подсчет количества слов(вхождений) и символов в текстовом файле в Python
Вы можете подсчитать количество слов в текстовом файле в Python, выполнив последовательность шагов, которые мы обсудим в этом руководстве.
- Откройте файл в режиме чтения и обработайте его в текстовом режиме.
- Прочтите текст с помощью функции read().
- Разделите текст, используя разделитель пробелов. Мы предполагаем, что слова в предложении разделены пробелом.
- Длина разделенного списка должна равняться количеству слов в текстовом файле.
- Вы можете уточнить счет, очистив строку перед разделением или проверив слова после разделения.
Пример 1
В этом примере в Python мы прочитаем текстовый файл и посчитаем количество слов в нем. Рассмотрим следующий текстовый файл.
Welcome to tonais.ru. Here, you will find python programs for all general use cases.
file = open("C:\data.txt", "rt") data = file.read() words = data.split() print('Number of words in text file :', len(words))
Number of words in text file : 14
Пример 2: с несколькими строками
В этом примере мы прочитаем текстовый файл с несколькими строками и посчитаем количество слов в нем. Рассмотрим следующий текстовый файл.
Символ новой строки разделяет строки в текстовом файле. Новая строка – это пробел, и когда мы разделяем все данные в текстовом файле с помощью метода split(), все слова во всех предложениях разбиваются и возвращаются в виде единого списка.
Welcome to tonais.ru. Here, you will find python programs for all general use cases. This is another line with some words.
file = open("C:\data.txt", "rt") data = file.read() words = data.split() print('Number of words in text file :', len(words))
Number of words in text file : 21
Подсчет количества символов в текстовом файле
- Откройте файл в режиме чтения.
- Прочтите текст с помощью функции read().
- Получите длину строки, которая должна быть количеством символов в текстовом файле.
- Вы можете уточнить счет, очистив строку, например удалив пробелы и знаки препинания.
Пример подсчета
Рассмотрим следующий текстовый файл.
Welcome to www.pythonexamples.org. Here, you will find python programs for all general use cases.
#open file in read mode file = open("C:\data.txt", "r") #read the content of file data = file.read() #get the length of the data number_of_characters = len(data) print('Number of characters in text file :', number_of_characters)
Number of characters in text file : 97
Пример 2: без учета пробелов
В этом примере мы прочитаем сам файл и подсчитаем количество символов в нем, исключая символы пробела. Рассмотрим следующий текстовый файл.
Welcome to www.pythonexamples.org. Here, you will find python programs for all general use cases.
#open file in read mode file = open("C:\data.txt", "r") #read the content of file and replace spaces with nothing data = file.read().replace(" ","") #get the length of the data number_of_characters = len(data) print('Number of characters in text file :', number_of_characters)
Number of characters in text file : 84
Чтобы подсчитать количество вхождений определенного слова в текстовый файл, прочтите содержимое текстового файла в строку и используйте функцию String.count() со словом, переданным в качестве аргумента.
Синтаксис
Ниже приводится синтаксис функции count():
Где, word – это строка, а count() возвращает количество вхождений слова в эту строку.
Пример count()
В этом примере мы рассмотрим следующий текстовый файл и посчитаем количество вхождений слова «python».
Welcome to tonais.ru. Here, you will find python programs for all general use cases.
#get file object reference to the file file = open("C:\workspace\python\data.txt", "r") #read content of file to string data = file.read() #get number of occurrences of the substring in the string occurrences = data.count("python") print('Number of occurrences of the word :', occurrences)
Number of occurrences of the word : 1