python - 尝试编写函数来递归计算单词在Python中文本文件中出现的次数

标签 python

尝试编写函数,递归地计算 Python 中文本文件中单词出现的次数。

def word_count(filename, word):
with open('C:/Users/Ibrahim/Desktop/file.txt', 'r') as f:
    result_list = [x.split(',') for x in f.readlines()]
    for i in result_list:
        if i == word:
            return word_count(filename,word)

这是我目前拥有的。

最佳答案

我认为这可能对你有帮助:

import sys, re


def word_count(filename, niddle, splitter=","):
    regex_pattern = '|'.join(map(re.escape, splitter))
    with open(filename, 'r') as f:
        words = [ word  for line in f.read().splitlines() for word in re.split(regex_pattern, line)]

    words = filter(None, words)
    print "Total Words :", len(words)
    print "Searching %s in list" % niddle
    print "Total Occurance : %d" % words.count(niddle)


def main(argv):
    splitter = ","

    if len(argv)==3:
        filename, word, splitter = argv
    elif len(argv)==2:
        filename, word = argv
        splitter = splitter
    else:
        print "Usage : word_count.py <file> <word> <splitter>"
        sys.exit()

    word_count(filename, word, splitter)


if __name__ == "__main__":
    main(sys.argv[1:])

关于python - 尝试编写函数来递归计算单词在Python中文本文件中出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43648376/

相关文章:

Python正则表达式提取字符串末尾的可选数字

python - 无效的 HTTP_HOST header : '0.0.0.0:8000' . 您可能需要将 '0.0.0.0' 添加到 ALLOWED_HOSTS

python - 测量任务之间的响应时间

python - 如何在Docker镜像中编辑库包

python - 如何减少 PyCharm 的 content.dat.storageData 缓存的大小?

python - python中的十进制到十六进制

python - 未关闭的标签 'block' 。寻找 : endblock 之一

python脚本读取文本文件并将其解析为csv格式

python - 对一个值进行递归,但沿途存储列表

python - 我的函数使用 'None'返回了新行