私はいたるところを調べましたが、この問題の修正、ftplibstorbinaryコールバックを見つけることができません。コールバックを使用するのはこれが初めてなので、何かばかげている可能性があります。8192バイトがアップロードされるたびに関数を呼び出すコードがあります(これが、調査後にコールバックが機能すると思う方法です)。
#In main thread
def ftpcallback(intid):
ftpuploaded = transStatus[intid][3] + 8192 #transStatus[intid] equals 0 to start with
if ftpuploaded > transStatus[intid][2]: ftpuploaded = transStatus[intid][2] #Is this needed? It's supposed to just keep the value below the file size
transStatus[intid][3] = ftpuploaded
print (transStatus[intid][3]) #Always outputs 8192
print("Callback called")
#Not in main thread
#FTP and file open code
self.ftp.storbinary("STOR " + self.destname, self.f, 1, ftpcallback(self.intid)) #1 to (hopefully) spam the output more
#close FTP and file code
それが実行されるときはいつでも、コールバックは10MBのファイルであっても1回だけ実行されます。私は何が間違っているのですか?前もって感謝します