Analisis fail teks ialah tugas penting dalam pelbagai pemprosesan data dan aplikasi pemprosesan bahasa semula jadi. Python ialah bahasa pengaturcaraan yang serba boleh dan berkuasa yang menyediakan pelbagai ciri terbina dalam dan perpustakaan untuk melaksanakan tugas tersebut dengan cekap. Dalam artikel ini, kami akan meneroka cara mengira bilangan aksara, perkataan, ruang dan baris dalam fail teks menggunakan Python.
Dalam kaedah ini, kami akan membangunkan logik kami sendiri secara brute force dan mengambil fail teks sebagai input dan mengira bilangan aksara, perkataan, ruang dan baris dalam fail. Dalam kaedah ini kami tidak akan menggunakan sebarang kaedah terbina dalam.
Gunakan fungsi open() untuk membuka fail dalam mod baca.
Mulakan pembolehubah untuk menjejaki bilangan aksara, perkataan, ruang dan baris.
Baca fail baris demi baris menggunakan gelung.
Untuk setiap baris, tambah bilangan baris.
Tingkatkan bilangan aksara mengikut panjang baris.
Pisah baris menjadi perkataan menggunakan kaedah split().
Tingkatkan bilangan perkataan dengan bilangan perkataan dalam baris.
Kira bilangan ruang dengan menolak bilangan perkataan daripada panjang baris dengan satu.
Tutup fail.
Cetak hasilnya.
string.split(separator, maxsplit)
Rentetan di sini ialah rentetan untuk dibelah. pembatas (pilihan) ialah pembatas yang digunakan untuk membelah rentetan. Lalai kepada ruang jika tidak dinyatakan, maxsplit (pilihan) ialah bilangan maksimum pemisahan untuk dilakukan. Jika tidak dinyatakan, semua kejadian pembatas akan digunakan.
len(sequence)
Jujukan di sini ialah urutan (rentetan, senarai, tuple, dll.) yang anda ingin cari panjangnya.
Dalam contoh di bawah, fungsi analyze_text_file() mengambil laluan fail sebagai parameter. Di dalam fungsi, fungsi open() digunakan untuk membuka pengurus fail dalam mod baca (dengan pernyataan) menggunakan konteks untuk memastikan fail ditutup dengan betul selepas diproses. Empat pembolehubah (kira_huruf, kiraan_kata, kiraan_ruang, kiraan_baris) dimulakan kepada sifar untuk menjejaki kiraan masing-masing. Gelung melalui setiap baris dalam fail. Untuk setiap baris, kiraan baris ditambah. Panjang baris ditambah pada kiraan aksara. Pisahkan baris kepada perkataan menggunakan kaedah split(), yang memisahkan baris pada aksara ruang putih. Tambahkan bilangan perkataan dalam baris pada kiraan perkataan. Kiraan ruang dikira dengan menolak satu daripada bilangan perkataan dalam baris, kerana ruang adalah kurang satu daripada bilangan perkataan. Selepas semua baris telah diproses, fail akan ditutup secara automatik oleh pengurus konteks. Akhirnya, keputusan dicetak, menunjukkan bilangan aksara, perkataan, ruang dan baris.
def analyze_text_file(file_path): try: with open(file_path, 'r') as file: char_count = 0 word_count = 0 space_count = 0 line_count = 0 for line in file: line_count += 1 char_count += len(line) words = line.split() word_count += len(words) space_count += len(words) - 1 print("File analysis summary:") print("Character count:", char_count) print("Word count:", word_count) print("Space count:", space_count) print("Line count:", line_count) except FileNotFoundError: print("File not found!") # Usage file_path = "sample.txt" # Replace with your file path analyze_text_file(file_path)
File not found!
Dalam kaedah ini, kita boleh menggunakan beberapa fungsi terbina dalam dan modul sistem pengendalian untuk mengira bilangan aksara, perkataan, ruang dan baris dalam fail.
Tentukan fungsi yang dipanggil analysis_text_file(file_path) yang mengambil laluan fail sebagai parameter.
Dalam fungsi, gunakan percubaan− kecuali blok untuk mengendalikan kemungkinan FileNotFoundError.
Dalam blok cuba, gunakan fungsi open() untuk membuka fail menggunakan fail_path dalam mod baca.
Gunakan pengurus konteks (dengan pernyataan) untuk memastikan pengendalian fail yang betul dan menutup fail secara automatik.
Gunakan kaedah read() untuk membaca keseluruhan kandungan fail dan menyimpannya dalam pembolehubah yang dipanggil kandungan.
Kira kiraan aksara dengan menggunakan fungsi len() pada rentetan kandungan dan tetapkan ia kepada char_count.
Kira bilangan perkataan dengan membelah rentetan kandungan pada aksara ruang putih menggunakan kaedah split(), kemudian gunakan fungsi len() pada senarai yang terhasil. Tetapkan keputusan kepada word_count.
Kira bilangan ruang dalam rentetan kandungan menggunakan kaedah count() dengan parameter " ". Tetapkan hasilnya kepada space_count.
Gunakan kaedah count() dengan parameter "n" untuk mengira bilangan baris baharu dalam rentetan kandungan. Tetapkan keputusan kepada line_count.
Cetak ringkasan analisis dengan memaparkan bilangan aksara, perkataan, ruang dan baris.
Dalam blok kecuali, tangkap FileNotFoundError dan cetak mesej "Fail tidak dijumpai
Tamat fungsi.
Di luar fungsi, tentukan pembolehubah laluan_fail yang mengandungi laluan ke fail untuk dianalisis.
Panggil fungsi analysis_text_file(file_path) dan lulus file_path sebagai parameter.
Dalam contoh di bawah, fungsi analyze_text_file() mengambil laluan fail sebagai parameter. Di dalam fungsi, fungsi open() digunakan untuk membuka fail dalam mod baca menggunakan pengurus konteks.
在文件对象上调用 read() 方法,将文件的全部内容读取到名为 content 的字符串变量中。使用内置函数和方法:len(content) 计算通过确定内容的长度来计算字符数 string.len(content.split()) 通过在空白字符处拆分内容字符串并计算结果列表的 length.content 来计算字数。 count(' ') 使用 count() 方法计算内容字符串中空格的数量。content.count('\n') 计算内容中换行符的数量字符串,对应行数。打印结果,显示字符数、字数、空格数和行数。
def analyze_text_file(file_path): try: with open(file_path, 'r') as file: content = file.read() char_count = len(content) word_count = len(content.split()) space_count = content.count(' ') line_count = content.count('\n') print("File analysis summary:") print("Character count:", char_count) print("Word count:", word_count) print("Space count:", space_count) print("Line count:", line_count) except FileNotFoundError: print("File not found!") # Usage file_path = "sample.txt" # Replace with your file path analyze_text_file(file_path)
File not found!
在本文中,我们讨论了如何使用 Python 强力方法以及内置方法来计算文件中的单词数、空格数和行数。通过利用这些内置函数和方法,您可以实现相同的任务以简洁有效的方式分析文本文件。请记住将 file_path 变量中的“sample.txt”替换为您所需的文本文件的路径。本文中描述的两种方法都提供了使用 Python 分析和提取文本文件信息的有效方法,使您可以执行进一步的数据处理和分析基于获得的计数。
Atas ialah kandungan terperinci Dapatkan bilangan aksara, perkataan, ruang dan baris dalam fail menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!