统计文本文件文章字符数,文章前n行共有几个字符和不重复字符
时间: 2023-12-10 20:39:51 浏览: 83
C语言中使用lex统计文本文件字符数
你可以使用Python来实现统计文本文件文章字符数,文章前n行共有几个字符和不重复字符的功能。具体代码如下:
```python
# 统计文本文件的字符数、前n行字符数和不重复字符数
import string
def count_chars(filename, n):
# 统计文件总字符数
with open(filename, 'r', encoding='utf-8') as f:
content = f.read()
total_chars = len(content)
# 统计前n行字符数
with open(filename, 'r', encoding='utf-8') as f:
lines = f.readlines()
n_lines = ''.join(lines[:n])
n_chars = len(n_lines)
# 统计不重复字符数
with open(filename, 'r', encoding='utf-8') as f:
content = f.read()
s = set(content)
unique_chars = len(s.difference(set(string.whitespace))) # 去除空白字符
return total_chars, n_chars, unique_chars
# 测试
filename = 'example.txt'
n = 5
total_chars, n_chars, unique_chars = count_chars(filename, n)
print('文件总字符数:', total_chars)
print('前%d行字符数:' % n, n_chars)
print('不重复字符数:', unique_chars)
```
解释一下代码:
1. 定义了一个函数`count_chars`,该函数接受两个参数,一个是文件名`filename`,另一个是前n行`n`。
2. 使用Python内置函数`open`打开文件,并使用`read`方法读取文件内容。
3. 使用`len`函数统计文件总字符数。
4. 使用`readlines`方法读取文件前n行,并使用`join`方法合并为一个字符串。
5. 使用`len`函数统计前n行字符数。
6. 使用`set`函数将文本内容转为集合,这样就可以去除重复字符。
7. 使用`difference`方法去除空白字符,最终使用`len`函数统计不重复字符数。
8. 返回三个统计结果。
以上代码可以实现对文本文件的字符数、前n行字符数和不重复字符数的统计。
阅读全文