读取文件words.txt中的全部文本,统计其中有多少个空格,数字,标点符号和单词(规定单词间以一个或多个空格分开)。假设一个单词恰好在行末结束,那么下一行的开头应有空格,句号和逗号后面也应有空格。
时间: 2024-02-12 17:05:12 浏览: 63
统计文本文件中的字符单词和行数
好的,我来给您解答。以下是 Python 代码实现:
```python
import string
with open('words.txt', 'r') as f:
text = f.read()
num_spaces = text.count(' ')
num_digits = sum(c.isdigit() for c in text)
num_punctuations = sum(c in string.punctuation for c in text)
words = text.split()
num_words = len(words)
print(f"Number of spaces: {num_spaces}")
print(f"Number of digits: {num_digits}")
print(f"Number of punctuations: {num_punctuations}")
print(f"Number of words: {num_words}")
```
首先,我们打开文件并读取其中的全部文本。然后,使用字符串的 `count()` 方法计算空格的数量,使用一个生成式和字符串模块中的 `punctuation` 常量计算数字和标点符号的数量。
接下来,我们将文本按空格分割成单词,并使用 `len()` 函数计算单词的数量。
最后,我们将统计结果输出。注意,在 Python 3.6 及以上版本中,我们可以使用 f-string 来格式化输出。
阅读全文