Как узнать количество символов в файле python
Перейти к содержимому

Как узнать количество символов в файле python

  • автор:

Подсчет строк, слов и символов в файле

Цикл 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’) по смыслу аналогичны соответствующим логическим выражениям из предыдущих вариантов программы.

X Скрыть Наверх

Решение задач на Python

Как посчитать кол во символов в строке python

Чтобы узнать длину строки (или количество символов в строке) воспользуйтесь простой функцией len() :

>>> string = "hello" >>> len(string) 5 >>> 

Определить количество символов для каждой строки в текстовом файле

В текстовом файле для каждой отдельной строки определить количество в ней символов. Пример:

Hello world! Привет мир! One, two, three 
13 symbols. 12 symbols. 16 symbols. 

Я понял как посчитать количество символов для всего файла, но не могу понять как это сделать для каждой строки. Мой код:

f1 = open('text.txt', 'r') data = f1.read() number_of_ch = len(data) print(number_of_ch) 

Python – количество символов в текстовом файле

Вы можете рассчитывать количество слов в текстовом файле, сначала прочитав текст в переменной, а затем подсчитав символы. Мы пройдем через последовательность шагов, необходимых для подсчета символов.

Шаги для подсчета количества символов

Чтобы подсчитать количество символов в текстовом файле, выполните следующие действия.

  1. Откройте файл в режиме чтения
  2. Прочитайте текст, используя функцию READ ().
  3. Получите длину строки, которая должна быть количество символов в текстовом файле.
  4. Вы можете уточнить количество, очищая строку, как удаление персонажей белого пространства и знаков препинания.

Пример 1. Считайте символы в текстовом файле

В этом примере Python мы будем читать текстовый файл и подсчитать количество символов в нем. Рассмотрим следующий текстовый файл.

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: Считайте символы в текстовом файле, исключая пробелы

В этом примере Python мы прочитаем текстовый файл и посчитаем количество символов в нем, исключая символы белого пространства. Рассмотрим следующий текстовый файл.

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

Резюме

В этом руководстве примеров Python мы узнали, как сосчитать количество символов в текстовом файле, с помощью примеров программ.

Похожие учебники

  • Python – Количество слов в текстовом файле
  • Python – количество вхождений слова в текстовом файле

Читайте ещё по теме:

  • Python – Количество слов в текстовом файле
  • Преобразование текстового файла в PDF С помощью Python | PDF
  • Python для НЛП: Работа с текстовыми и PDF-файлами
  • Как читать большие текстовые файлы в Python
  • Python – Найти уникальные слова в текстовом файле
  • Как добавить текст в файл в Python?
  • Python – количество вхождений слова в текстовом файле

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *