【发布时间】:2017-03-20 07:42:05
【问题描述】:
我在读取文件并将内容作为字典返回时遇到问题。每个文件都包含由 \n 分隔的数字,目标是计算返回每个数字作为键的数字,键的值是它在文件中的次数。
示例:当filea.txt 包含
"1\n1\n1\n2\n3\n3\n3\n3\n5\n" 函数应该返回
{1:3,2:1,3:4,5:1}
当filea.txt 包含"100\n100\n3\n100\n9\n9\n" 时,函数应该返回{100:3, 3:1, 9:2}
当fileb.txt 包含"13\n13\n13\n13\n13\n13\n13\n13\n" 时,函数应该返回{13:8}
这是我目前的尝试:
def file_counts(filename):
a = open('filea.txt')
b = open('fileb.txt')
info = a.read()
info2 = b.read()
a.close()
b.close()
if info == True:
return (dict(collections.Counter(info)))
elif info2 == True:
return (dict(collections.Counter(info2)))
else:
return None
目前这给了我错误没有这样的文件或目录,我相信这是因为文件的内容在不同的测试用例中发生了变化。所以 filea 可以包含不同的信息,函数需要考虑到这一点。感谢所有帮助的人
【问题讨论】:
标签: list file python-3.x dictionary numbers