Как узнать количество символов в файле 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

Часто возникает задача подсчета количества определенных символов в строке. Например, необходимо узнать, сколько раз буква ‘b’ встречается в строке ‘Боб был мальчиком, который любил бегать по берегу’.

Python предоставляет несколько простых способов для решения этой задачи.

Использование метода count()

Самый простой и прямой способ — использование встроенного метода count() . Этот метод принимает один аргумент — символ, который нужно найти, и возвращает количество его вхождений в строку.

s = 'Боб был мальчиком, который любил бегать по берегу' print(s.count('б')) # Выведет: 5

Использование цикла for

Если по каким-то причинам использование count() недоступно или нежелательно, можно использовать цикл for для прохода по всем символам строки и подсчета нужных.

s = 'Боб был мальчиком, который любил бегать по берегу' count = 0 for letter in s: if letter == 'б': count += 1 print(count) # Выведет: 5

Использование генераторов списков

Также можно использовать генераторы списков — это выразительный и компактный способ решения этой задачи.

s = 'Боб был мальчиком, который любил бегать по берегу' count = sum(1 for letter in s if letter == 'б') print(count) # Выведет: 5

Все эти методы вернут одинаковое количество вхождений символа в строке. Выбор метода зависит от конкретной ситуации и личных предпочтений.

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

Подсчитать количество знаков препинания в текстовом файле
Текст считывается из файла Private Sub Command1_Click() Picture1.Cls Open File1.Path + "\" +.

Подсчитать количество гласных, согласных и знаков препинания в некотором текстовом файле
Сделать программу, которая включает в себя процедуру, подсчитывающую количество гласных, согласных.

Подсчитать количество знаков препинания в текстовом файле. Найти самое короткое слово.
Создать текстовый файл. Подсчитать количество знаков препинания в нем. Найти самое короткое слово.

Вычислить количество знаков препинания в текстовом файле
Помогите, эту тему вообще не знаю, как с ней работать. Нужно вычислить количество знаков препинания.

В текстовом файле посчитать количество знаков препинания и найти самое короткое слово
Создать текстовый файл. Посчитать количество знаков препинания в нем. Найти самое короткое слово.

1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096

Лучший ответ

Сообщение было отмечено Lenovo_G575 как решение

Решение

Если я все правильно понял, то так

1 2 3 4 5 6 7 8 9 10
f = file('ConfigBrut.py') # Открываем файл lines = "".join(f.xreadlines()) # Получаем его содержимое в строку print len(lines) # Общее количество знаков print lines.count(",") # Количество знаков запятой print lines.count(".") # Количество знаков точки print lines.count("!") # Количество знаков "!" print lines.count("?") # Количество знаков "?" и.т.д f.close(); # Прощаемся :-)

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Подсчитать количество знаков препинания в строке символов
код програми: #include <iostream.h> #include <stdio.h> #include <ctype.h> #include <conio.h>.

Посчитать количество символов в созданом файле, а также определить количество знаков препинания
Программа №1 Создать файл и записать в него 3 строки. Посчитать количество символов в созданом.

Для вводимых символов подсчитать количество букв, цифр и знаков препинания
Составить программу которая вводит с клавиатуры по одному символу и повторяет это до тех пор, пока.

Определить число знаков препинания в текстовом файле
Доброго времени суток! Дан текстовый файл, определить число знаков препинания, используемых в.

Подсчитать количество символов в текстовом файле
Нужно сделать програму, которая открівает файл .тхт, и считает количество сиволов и присваевает ето.

Подсчитать количество символов в текстовом файле
Здравствуйте, вот полное условие: Составить программу обмена местами двух любых элементов.

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

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

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

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

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