Python 报错:AttributeError: '_io.TextIOWrapper' 对象没有属性
我正在用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