从控制台输入一个文件名,程序打开指定文本文件,并统计该文本文化中各个单词及其出现的次数
时间: 2024-10-24 17:10:24 浏览: 16
python统计文本文件内单词数量的方法
你可以通过以下步骤编写一个简单的程序来实现这个功能:
1. **接收用户输入**:
使用`sys`库(在Python中),获取用户的命令行输入,即文件名。
```python
import sys
file_name = input("请输入文件名: ")
```
2. **读取文件**:
使用`open()`函数打开文件并检查是否成功。如果文件不存在或无法访问,可以添加错误处理机制。
```python
try:
with open(file_name, 'r') as file:
content = file.read()
except FileNotFoundError:
print(f"文件 '{file_name}' 未找到.")
else:
# 接下来的代码将处理内容
```
3. **分词和计数**:
将文本拆分成单词列表,然后创建一个字典来存储每个单词及其出现次数。
```python
from collections import defaultdict
word_list = content.split()
word_count = defaultdict(int)
for word in word_list:
word_count[word.lower()] += 1 # 转换为小写并计数
```
4. **显示结果**:
最后,遍历字典并打印出单词及其出现次数。
```python
for word, count in word_count.items():
print(f"{word}: {count}")
```
完整代码示例:
```python
import sys
from collections import defaultdict
def count_words_in_file():
file_name = input("请输入文件名: ")
try:
with open(file_name, 'r') as file:
content = file.read()
word_list = content.split()
word_count = defaultdict(int)
for word in word_list:
word_count[word.lower()] += 1
for word, count in word_count.items():
print(f"{word}: {count}")
except FileNotFoundError:
print(f"文件 '{file_name}' 未找到.")
# 执行函数
count_words_in_file()
```
阅读全文