Viết chương trình Python để đếm số lượng từng ký tự của một văn bản đã cho của tệp văn bản

Hôm nay trong hướng dẫn này, chúng ta sẽ biết cách đếm số lần xuất hiện của một ký tự trong tệp văn bản bằng Python. Ở đây chúng tôi sẽ lấy một tệp văn bản 'văn bản. txt' làm đầu vào của chương trình và cuối cùng hiển thị số lượng của một ký tự cụ thể làm đầu ra cho người dùng. Vì vậy, trong hướng dẫn này, bạn sẽ biết cách lấy một tệp văn bản làm đầu vào, một phương pháp đếm số lần xuất hiện của một ký tự cụ thể và một chương trình Python để làm điều tương tự

Lấy một tệp văn bản làm đầu vào

Chúng tôi có thể thực hiện các tác vụ khác nhau trên nội dung được lưu trữ trong một tệp. Đầu tiên chúng ta phải mở tệp ở chế độ đọc/ghi. Ở đây, chúng ta phải mở tệp văn bản ở chế độ 'đọc'. Để mở tệp văn bản có tên là 'văn bản. txt' ở chế độ 'đọc', mã Python như sau-

file = open("text.txt","r")

Phương pháp đếm số lần xuất hiện của một ký tự trong tệp

Vì vậy, ở đây chúng ta sẽ thấy một phương pháp đếm số lần xuất hiện của một ký tự cụ thể trong tệp văn bản. Đầu tiên, chúng tôi lấy ký tự làm đầu vào từ người dùng và mở tệp văn bản ở chế độ 'đọc'. Bây giờ, chúng ta phải tìm nạp nội dung của ký tự tệp theo ký tự và tìm các lần xuất hiện của ký tự đó. Vì vậy, để đếm số lần xuất hiện, hãy làm theo các bước sau-

  • Đọc một ký tự từ tệp
  • So sánh ký tự này với ký tự có số lượng được xác định
  • Nếu kết quả so sánh trả về đúng, hãy tăng số lượng lên 1
  • Mặt khác, tìm nạp ký tự tiếp theo từ tệp
  • Tiếp tục các thao tác trên cho đến khi bạn đến phần cuối của tệp (EOF)
  • Hiển thị số lần xuất hiện của ký tự do người dùng đưa ra

Chương trình Python để đếm sự xuất hiện của một ký tự trong một tệp

Vì vậy, chúng ta hãy xem một chương trình Python đếm số lần xuất hiện của một ký tự cụ thể trong tệp văn bản. Ở đây, tên của tệp được sử dụng làm đầu vào là 'văn bản. txt'. Ngoài ra, chúng tôi có thể lấy tên của tệp từ người dùng. Nhưng để đơn giản, chúng tôi chỉ lấy ký tự từ người dùng. Chúng tôi kiểm tra nội dung của tệp theo từng ký tự cho đến khi chúng tôi đến phần cuối của tệp (EOF). Nếu một ký tự khớp, thì chúng ta phải tăng số đếm lên 1. Chương trình Python để đếm số lần xuất hiện của một ký tự trong tệp được đưa ra bên dưới-

count = 0
char = input("ENTER CHARACTER : ")
file = open("text.txt","r")
for i in file:
  for c in i:
    if c == char:
      count = count + 1
print("THE CHARACTER {} IS FOUND {} TIMES IN THE TEXT FILE".format(char,count))

Đầu ra chương trình Python

Chương trình Python ở trên trả về số lần xuất hiện của một ký tự cụ thể. Nội dung của tệp văn bản. txt' mà chúng tôi sử dụng làm đầu vào là-

This is a sample text file.
Using this file as input we will run a Python program.
The character is entered by the user.

Đầu ra của chương trình trên là-

[email protected]:~/python$ python3 char_count.py
ENTER CHARACTER : T
THE CHARACTER T IS FOUND 2 TIMES IN THE TEXT FILE
[email protected]:~/python$

Tại đây, chương trình hiển thị số lần xuất hiện của ký tự ‘T’ trong tệp. Như vậy, ký tự ‘T’ được tìm thấy 2 lần trong nội dung của tệp ‘text. txt'

Bài viết này được tạo ra để đề cập đến nhiều chương trình trong Python liên quan đến việc đếm các ký tự như nguyên âm, phụ âm, xuống dòng, khoảng trắng, v.v. trong một tệp văn bản nhất định hoặc được nhập bởi người dùng trong thời gian chạy. Dưới đây là danh sách các chương trình được đề cập trong bài viết này

  • Đếm số nguyên âm trong một tệp văn bản
  • Đếm phụ âm trong một tệp văn bản
  • Đếm các dòng mới trong một tệp văn bản
  • Đếm khoảng trống trong tệp văn bản
  • Đếm tổng số/tất cả các ký tự trong một tệp văn bản

Trước khi chuyển sang phần chương trình, chúng ta hãy thực hiện một số việc quan trọng để triển khai và thực thi chương trình dựa trên tệp văn bản

Những việc cần làm trước chương trình

Bởi vì chương trình đưa ra dưới đây được sử dụng để đếm các ký tự trong một tệp văn bản. Do đó, trước tiên chúng ta phải tạo một tệp văn bản có tên là Codecracker. txt với một số nội dung nói

Hello Python
This is a text File
The name of this file is codescracker.txt

Lưu tệp này trong thư mục hiện tại. Thư mục hiện tại là thư mục lưu mã Python để đếm ký tự của tệp này. Đây là ảnh chụp nhanh của thư mục chứa trình giải mã tệp. txt đã được lưu

python count characters in file

Và đây là ảnh chụp nhanh của trình giải mã tệp đã mở. txt

count characters in text file python

Bây giờ, hãy tạo một số chương trình Python để thực hiện tác vụ như đếm ký tự, nguyên âm, dấu cách, v.v. của tệp văn bản này

Đếm nguyên âm trong tệp văn bản

Câu hỏi đặt ra là viết chương trình Python để đếm số nguyên âm có trong một tệp. Chương trình đưa ra dưới đây là câu trả lời cho câu hỏi này

print("Enter the Name of File: ")
fileName = str(input())
fileHandle = open(fileName, "r")
tot = 0
vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']

for char in fileHandle.read():
  if char in vowels:
    tot = tot+1
fileHandle.close()

print("\nTotal Vowels are:")
print(tot)

Đây là mẫu chạy của nó

python count vowels in text file

Bây giờ nhập tên của tập tin nói Codecracker. txt (một tệp mới được tạo ở đầu bài viết này) và nhấn

print("Enter the Name of File: ")
fileName = str(input())
fileHandle = open(fileName, "r")
tot = 0
vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']

for char in fileHandle.read():
  if char in vowels:
    tot = tot+1
fileHandle.close()

print("\nTotal Vowels are:")
print(tot)
1 để đếm và in tổng số nguyên âm có trong nội dung của tệp này như trong ảnh chụp nhanh bên dưới

count vowels in text file python

Phiên bản sửa đổi của chương trình trước đó

Hãy sửa đổi chương trình trước đó. Chương trình này sử dụng end để bỏ qua việc in một dòng mới tự động. Khối try-ngoại trừ được sử dụng để xử lý ngoại lệ

print(end="Enter the Name of File: ")
fileName = str(input())
try:
  fileHandle = open(fileName, "r")
  tot = 0
  vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']

  for char in fileHandle.read():
    if char in vowels:
      tot = tot+1
  fileHandle.close()

  if tot>1:
    print("\nThere are " + str(tot) + " Vowels available in the File")
  elif tot==1:
    print("\nThere is only 1 Vowel available in the File")
  else:
    print("\nThere is no any Vowel available in the File!")
except IOError:
  print("\nError Occurred!")
  print("Either File doesn't Exist or Permission is not Allowed!")

Đây là lần chạy mẫu của nó với cùng một đầu vào của người dùng, nói là Codecracker. txt làm tên tệp

count vowels in file python

Đây là một mẫu chạy khác với đầu vào của người dùng nói tạm thời. txt (tệp không tồn tại)

python count vowels in file

Đếm phụ âm trong tệp văn bản

Câu hỏi đặt ra là hãy viết một chương trình bằng Python đếm tổng số phụ âm có sẵn trong một tệp văn bản. Đây là câu trả lời của nó

________số 8_______

Đây là mẫu chạy của nó với cùng tên tệp nói Codescracker. txt

count consonants in file python

Chương trình này tương tự như chương trình trước. Sự khác biệt duy nhất là trong mã logic, chúng tôi đã thay đổi đoạn mã sau

if char in vowels:
  tot = tot+1

với khối mã được đưa ra dưới đây

if char>='a' and char<='z':
  if char not in vowels:
    tot = tot+1
elif char>='A' and char<='Z':
  if char not in vowels:
    tot = tot+1

Đếm số dòng mới trong tệp văn bản

Để đếm số dòng mới trong một tệp văn bản, hãy sử dụng chương trình Python sau

print(end="Enter the Name of File: ")
fileName = str(input())
try:
  fileHandle = open(fileName, "r")
  tot = 0

  for char in fileHandle.read():
    if char=='\n':
      tot = tot+1
  fileHandle.close()

  if tot>1:
    print("\nThere are " + str(tot) + " New Lines available in the File")
  elif tot==1:
    print("\nThere is only 1 New Line available in the File")
  else:
    print("\nThere is no any New Line available in the File!")
except IOError:
  print("\nError Occurred!")

Đây là lần chạy mẫu của nó với cùng tên tệp như đã tạo trước đó

count lines in text file python

Sự khác biệt duy nhất giữa chương trình này với chương trình được cung cấp để đếm các nguyên âm trong tệp văn bản là chúng tôi đã thay đổi khối mã sau

if char in vowels:
  tot = tot+1

với khối mã được đưa ra dưới đây

if char=='\n':
  tot = tot+1

Đếm khoảng trắng trong tệp văn bản

Chương trình này đếm tổng số khoảng trống có sẵn trong tệp văn bản do người dùng nhập vào thời gian chạy

print(end="Enter the Name of File: ")
fileName = str(input())
try:
  fileHandle = open(fileName, "r")
  tot = 0

  for char in fileHandle.read():
    if char==' ':
      tot = tot+1
  fileHandle.close()

  if tot>1:
    print("\nThere are " + str(tot) + " Blank spaces available in the File")
  elif tot==1:
    print("\nThere is only 1 Blank space available in the File")
  else:
    print("\nThere is no any Blank space available in the File!")
except IOError:
  print("\nError Occurred!")

Ảnh chụp nhanh được cung cấp bên dưới hiển thị quá trình chạy mẫu của chương trình này với cùng một tên tệp, trình giải mã. txt

count blank space in text file python

Đếm tổng số ký tự trong tệp văn bản

Đây là chương trình cuối cùng của bài viết này. Chương trình này được tạo để đếm tất cả các ký tự hoặc tổng số ký tự có sẵn trong một tệp văn bản

print("Enter the Name of File: ")
fileName = str(input())
fileHandle = open(fileName, "r")
tot = 0
vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']

for char in fileHandle.read():
  if char in vowels:
    tot = tot+1
fileHandle.close()

print("\nTotal Vowels are:")
print(tot)
0

Đây là mẫu chạy của nó

count total characters in file python

Lưu ý - Trong 74 ký tự, có 21 nguyên âm, 39 phụ âm, 11 khoảng trắng, 2 dòng mới và 1 dấu chấm (. )