编写程序统计一个文件中的字符数(控制符‘\r’和‘\n’除外),单词数以及行数。单词由空格,制表符,回车,或者换行符分隔,文件名应该作为命令行参数被传递。
时间: 2024-02-21 11:58:33 浏览: 44
好的,这是一个经典的文本处理问题,我可以为您提供一个Python程序来完成这个任务。
```python
import sys
def count_file(filename):
lines = 0
words = 0
chars = 0
with open(filename, 'r') as f:
for line in f:
lines += 1
chars += len(line)
words += len(line.split())
# 减去换行符和回车符的数量
chars -= lines
words -= lines
print("文件名:", filename)
print("字符数:", chars)
print("单词数:", words)
print("行数:", lines)
if __name__ == '__main__':
if len(sys.argv) < 2:
print("请在命令行中指定要统计的文件名")
else:
for filename in sys.argv[1:]:
count_file(filename)
```
这个程序接受一个或多个文件名作为命令行参数,对每个文件进行统计。它使用Python的内置函数来读取文件,并使用计数器变量来跟踪行数,单词数和字符数。最后,它打印出每个文件的统计结果。
希望这个程序能够帮助到您!