str не вызываемый объект python - PullRequest
0 голосов
/ 16 февраля 2019

Мне немного любопытно, почему мой код вызывает эту ошибку?
Может кто-нибудь показать мне какое-то понимание как способ исправить это и причину, по которой оно возникает?

Ошибка:

chunk += " " (16 - len(chunk) % 16)
TypeError: 'str' object is not callable

Мой код:

def upload(item):
    with open(item, "rb") as fp:
        while True:
            chunk = fp.read(64*1024)

            if len(chunk) == 0:
                break
            elif len(chunk) % 16 != 0:
                chunk += " " (16 - len(chunk) % 16)

            self.s.send(encrypt(self.key, chunk, self.iv))

    self.s.send("DONE")
    self.update()

1 Ответ

0 голосов
/ 16 февраля 2019

Измените chunk += " " (16 - len(chunk) % 16) на:

 chunk += " " * (16 - len(chunk) % 16)

Если вы ничего не положите туда, это означает, что " " вызывается и вы пытаетесь вызвать его с параметром 16 - len(chunk) % 16.

...