三元数

2024-10-02 12:34:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想打印文件夹中文本文件列表的三元组频率。 这是我的python代码,它不打印任何内容。 有什么想法吗?在

import nltk
import os
from nltk import trigrams
for fn in os.listdir('folder path where txt files are stored'):
    if os.path.isfile(fn):
        infile = open(fn,"r")
        for line in infile:
            tokens = nltk.word_tokenize(line)
            tokens = [token.lower() for token in tokens if len(token) > 1]
            tri_tokens = trigrams(tokens)
            print [(item, tri_tokens.count(item)) for item in sorted(set(tri_tokens))]

Tags: pathinimporttokenforifosline
2条回答

如果文件名中有反斜杠,则需要使用Python“raw”字符串:

fname = r'C:\Users\ABC\Downloads\our_data\our_data'

或者,您应该能够将反斜杠替换为正斜杠:

^{pr2}$

这可能无法解决您的整体问题,但您应该明确更改以下内容:

infile = open(fn,"r")

收件人:

^{pr2}$

除非您有未显示的其他代码,否则不会关闭文件描述符,这可能会导致意外的后果,尤其是当您打开大量文件时。在

相关问题 更多 >

    热门问题