Python 属性错误:';textChunker';对象没有属性';打印块';

Python 属性错误:';textChunker';对象没有属性';打印块';,python,python-3.x,Python,Python 3.x,当我运行下面的代码时,会出现以下错误: printchunks = text_Chunker.print_chunks(input_data,chunk_size) AttributeError: 'textChunker' object has no attribute 'print_chunks' 为什么它会给我这个错误 这是我的密码。它有一个textChunker类,我在主函数中调用它 为什么没有定义函数print_chunks import numpy as np from nltk.

当我运行下面的代码时,会出现以下错误:

printchunks = text_Chunker.print_chunks(input_data,chunk_size)
AttributeError: 'textChunker' object has no attribute 'print_chunks'
为什么它会给我这个错误

这是我的密码。它有一个
textChunker
类,我在主函数中调用它

为什么没有定义函数
print_chunks

import numpy as np
from nltk.corpus import brown

# Split the input text into chunks, where
# each chunk contains N words
class textChunker:

    def __init__(self, input_data='', chunk_size=0):

        self.input_data = input_data
        self.chunk_size = chunk_size

    def chunker(self,input_data, N):
        input_words = input_data.split(' ')
        output = []

        cur_chunk = []
        count = 0
        for word in input_words:
            cur_chunk.append(word)
            count += 1
            if count == N:
                output.append(' '.join(cur_chunk))
                count, cur_chunk = 0, []

        output.append(' '.join(cur_chunk))

        return output

        def print_chunks(self,input_data,chunk_size):
            import chunker
            chunks = chunker(input_data, chunk_size)
            print('\nNumber of text chunks =', len(chunks), '\n')
            for i, chunk in enumerate(chunks):
                print('Chunk', i + 1, '==>', chunk[:50])

if __name__=='__main__':

    input_data = ' '.join(brown.words()[:12000])
    chunk_size = 700

    text_Chunker=textChunker()
    printchunks =text_Chunker.print_chunks(input_data,chunk_size)

您需要取消输入
print_chunks
函数,以便与
textChunker
类中的其他函数保持一致

编辑:除了无齿(参见编辑历史)之外,询问者还进行了其他编辑,以使代码正常工作

试试这个:

import numpy as np
from nltk.corpus import brown

# Split the input text into chunks, where
# each chunk contains N words
class textChunker:

    def __init__(self, input_data='', chunk_size=0):

        self.input_data = input_data
        self.chunk_size = chunk_size

    def chunker(self,input_data, N):
        input_words = input_data.split(' ')
        output = []

        cur_chunk = []
        count = 0
        for word in input_words:
            cur_chunk.append(word)
            count += 1
            if count == N:
                output.append(' '.join(cur_chunk))
                count, cur_chunk = 0, []

        output.append(' '.join(cur_chunk))

        return output

    def print_chunks(self,input_data,chunk_size):
        import textChunker
        chunks = self.chunker(input_data, chunk_size)
        print('\nNumber of text chunks =', len(chunks), '\n')
        for i, chunk in enumerate(chunks):
            print('Chunk', i + 1, '==>', chunk[:50])

if __name__=='__main__':

    input_data = ' '.join(brown.words()[:12000])
    chunk_size = 700

    text_Chunker=textChunker()
    printchunks =text_Chunker.print_chunks(input_data,chunk_size)
    print(sent_tokenize(input_data))

谢谢,但它给了我这个错误:printchunks=text\u Chunker。print\u chunks(输入数据,chunk\u大小)chunks=Chunker(输入数据,chunk\u大小)TypeError:“模块”对象不可调用抱歉,我对
Chunker
了解不够,无法帮助我以前通过添加self来修复它chunker@Nabilkabha伟大的请编辑我的答案,将其包括在内。当您指定要执行的操作以及需要帮助的内容时,StackOverflow会更有帮助。更具体地说。展示你已经尝试过的东西。