如何等待文件上传(通过ftp),然后删除它?
使用Python,我该如何在删除一个文件之前,等待它通过FTP上传完成呢?
uploadFile(ftp, filepath,namef)
# ............Here, I need to wait........
os.remove(filepath)
有什么想法吗?
4 个回答
1
你可以先生成一个MD5校验和,然后把它上传到服务器。接着再下载这个文件,比较一下MD5值,如果一致的话就可以删除这个文件了。
额外提示:如果你的服务器支持MD5作为网站扩展功能,那你就不需要下载文件了,只要向服务器请求MD5值就可以了。
2
根据Randolpho提供的链接,使用ftplib时,你需要这样做:
FTP.storbinary(command, file[, blocksize, callback])
在你传输文件之前,先计算一下需要多少个块(每个块的大小是blocksize
)来传输这个文件。你的回调函数可以记录它被调用的次数,当这个计数器达到块的数量时,你就知道整个文件已经传输完毕。然后,你的回调函数可以调用一个删除文件的函数。