在Python中统计文本文件的行数,你可以使用以下几种方法:
1. 使用`readlines()`方法:
def count_lines(filename):with open(filename, 'r') as file:lines = file.readlines()return len(lines)filename = 'example.txt'line_count = count_lines(filename)print(f'文件 {filename} 共有 {line_count} 行。')
2. 使用`enumerate()`函数:
def count_lines(filename):with open(filename, 'r') as file:line_count = 0for line in file:line_count += 1return line_countfilename = 'example.txt'line_count = count_lines(filename)print(f'文件 {filename} 共有 {line_count} 行。')
3. 使用`len()`函数直接对文件对象操作(适用于文件较小的情况):
def count_lines(filename):with open(filename, 'r') as file:return len(file.readlines())filename = 'example.txt'line_count = count_lines(filename)print(f'文件 {filename} 共有 {line_count} 行。')
4. 使用`for`循环逐行读取文件(适用于大文件,节省内存):
def count_lines(filename):line_count = 0with open(filename, 'r') as file:for line in file:line_count += 1return line_countfilename = 'example.txt'line_count = count_lines(filename)print(f'文件 {filename} 共有 {line_count} 行。')
5. 使用`buffer`读取文件的一部分内容,然后统计换行符的数量(适用于非常大的文件):
def count_lines(file_path):line_count = 0with open(file_path, 'rb') as file:buffer = file.read(1024 * 8192)while buffer:line_count += buffer.count(b'\n')buffer = file.read(1024 * 8192)return line_countfile_path = 'example.txt'line_count = count_lines(file_path)print(f'文件 {file_path} 共有 {line_count} 行。')
选择哪种方法取决于文件的大小以及你对内存使用的考虑。对于较小的文件,直接使用`len(file.readlines())`可能更快;而对于较大的文件,逐行读取或使用缓冲区方法会更加高效
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/4834.html