编写程序统计一个文本文件中的字符数,单词数以及行数,单词由空格分隔。程序应提示用户输入一个文件名
时间: 2023-12-14 17:38:13 浏览: 159
软件工程课堂作业-统计若干字符串中的空格数(java)
以下是Python代码实现:
```python
filename = input("请输入文件名:")
with open(filename, 'r') as f:
# 统计字符数
char_count = sum(len(line) for line in f)
# 重置文件指针到文件开头
f.seek(0)
# 统计单词数
word_count = sum(len(line.split()) for line in f)
# 重置文件指针到文件开头
f.seek(0)
# 统计行数
line_count = sum(1 for line in f)
print("字符数:", char_count)
print("单词数:", word_count)
print("行数:", line_count)
```
首先,我们要求用户输入一个文件名。然后,我们使用`with open()`语句打开文件,使用`'r'`模式表示只读模式。
在第一个`with open()`块中,我们使用一个生成器表达式来统计文件中的字符数。对于文件中的每一行,我们使用`len()`函数来计算该行中的字符数,然后使用`sum()`函数将所有行中的字符数相加。
在第二个`with open()`块中,我们使用`.split()`方法将每行拆分成单词,并使用生成器表达式统计所有单词的数量。我们再次使用`sum()`函数将所有行中的单词数相加。
在第三个`with open()`块中,我们使用一个生成器表达式来统计文件中的行数。对于文件中的每一行,我们使用`1`表示该行是一行,然后使用`sum()`函数将所有行的数量相加。
最后,我们打印出统计结果。
阅读全文