Я работаю над открытием текстового файла, отображает общее количество символов в этом файле, а затем классифицирует каждый символ (альфа, числовые, пунктуации и т. Д.). Мой диапазон - таблица ASCII от 32-127, и по какой-то причине количество символов, похоже, больше, чем то, что я видел, когда я помещал его в число символов в Интернете.Количество символов Python неточно?
def totalLength():
inFile = open("draft_UTF-8.txt", 'r', encoding = 'ISO-8859-1')
readFile = inFile.read()
print("Total amount of characters with spaces included:", len(readFile))
inFile.close()
В дополнение к этому, когда я категоризировать свой файл, моя программа показывает, что есть символы из диапазона ASCII, даже если я не ставил никаких символов за пределами диапазона ASCII. Вот мой код для организации.
inFile = open("draft_UTF-8.txt", 'r', encoding = 'ISO-8859-1')
readFile = inFile.read()
alpha = 0
num = 0
space = 0
special = 0
other = 0
for lines in readFile:
for ch in lines:
if ch in string.ascii_letters:
alpha += 1
elif ch in string.digits:
num += 1
elif ch == ' ':
space += 1
elif ch in string.punctuation:
special += 1
else:
other += 1
Я бы напечатал каждую категорию. В моем текстовом файле у меня есть следующий:
1234567890
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
~`[email protected]#$%^&*()_-++|\}]{[“’:;?/>.<,
Выхода будет:
Total amount of characters with spaces included: 101
There are 52 occurrences of alphabetical characters.
There are 10 occurrences of numerical characters.
There are 0 occurrences of white spaces.
There are 30 occurrences of punctuation characters.
there are 9 occurrences of other characters.
Я понял, что другие проявления характера приходят из пунктуации, но не уверены, какой из них. Какие-либо предложения?
EDIT: Я понял, что причина, по которой я получаю дополнительные символы в моем выходе, связана с кодировкой: ISO-8859-1. Моя основная проблема заключается в том, что Python не будет запускать мою программу, если у меня не будет этой кодировки, главным образом потому, что я использую MAC-систему. Она работает без нее на PyCharm, но на Python моя программа потерпит крах.
Линии заканчиваются символами новой строки. Вы считали это? Кроме того, для итерации по строкам следует использовать метод readlines(). –
Я не понимаю, какую проблему вы видите. – interjay
Мой общий счетчик символов отключен несколькими, а когда текстовый файл больше, общее количество символов отключено на сотни. Кроме того, в моем текстовом файле нет «других» символов, но мой выпуск программы говорит о том, что есть. – Zyanaster