Python 报错:AttributeError: '_io.TextIOWrapper' 对象没有属性

0 投票
1 回答
5903 浏览
提问于 2025-04-18 00:31

我正在用Python写一个程序,这个程序可以统计文件中出现频率最高的字符。用户可以指定要统计哪个字符。不过,我一直收到一个错误信息,尝试了很久也没能解决这个问题:

filename = open('all-Names.txt', 'r')
character = input("Enter character: ")
x = filename.count(character) 
print(x)
filename.close()

1 个回答

2

文件对象上没有 count() 这个方法。你应该逐行读取文件,然后把每一行的数量加起来:

character = input("Enter character: ")

with open('all-Names.txt', 'r') as f:
    print(sum(line.count(character) for line in f))

示例:

$ cat all-Names.txt 
test
test2
test3
test4
test5
$ python
...
>>> character = input("Enter character: ")
Enter character: t
>>> with open('all-Names.txt', 'r') as f:
...    print(sum(line.count(character) for line in f))
... 
10

撰写回答