无法读取文件并将其与我的代码一起使用

2024-09-29 23:20:11 发布

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

我正在使用以下模块:

from nltk.tokenize import word_tokenize
from nltk.util import ngrams

def makeNGrams(filename, n):
  variable_NGrams = ngrams(word_tokenize(filename), n)
  return [' '.join(grams) for grams in variable_NGrams]

只要输入文本,我想用它工作,但导入一个文本文件不起作用。你知道吗

当我这样写模块的时候

from nltk.tokenize import word_tokenize
from nltk.util import ngrams

def makeNGrams(filename, n):
  text = open(filename, 'r').read()
  variable_NGrams = ngrams(word_tokenize(text), n)
  return [' '.join(grams) for grams in variable_NGrams]

然后用它打开一个特定的txt文件,我会得到大量的错误

如何在本模块中导入和使用文本文件?你知道吗


Tags: 模块fromimportreturndefutilfilenamevariable
2条回答

你有两个问题之一。您的文件名要么是全名,不需要附加.txt,要么不包含正确的文件扩展名,需要正确添加。你知道吗

方案1:

def makeNGrams(filename, n):
    # Note the difference here
    text = open(filename, 'r').read()
    variable_NGrams = ngrams(word_tokenize(text), n)
    return [' '.join(grams) for grams in variable_NGrams]

方案2:

def makeNGrams(filename, n):
    # Note the difference here
    text = open('{}.txt'.format(filename), 'r').read()
    variable_NGrams = ngrams(word_tokenize(text), n)
    return [' '.join(grams) for grams in variable_NGrams]

打开文件时最好使用try except block。这样更容易发现错误

导入pprint

尝试:

with  open('filname', 'r') as f:

    text = f.read()

例外情况除外,如e:

pprint.pprint(e)

FileNotFoundError(2,'没有这样的文件或目录')

相关问题 更多 >

    热门问题