如何等待文件上传(通过ftp),然后删除它?

0 投票
4 回答
1661 浏览
提问于 2025-04-16 00:24

使用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)来传输这个文件。你的回调函数可以记录它被调用的次数,当这个计数器达到块的数量时,你就知道整个文件已经传输完毕。然后,你的回调函数可以调用一个删除文件的函数。

1

使用 ftplib 来上传文件。这个链接里有很多很棒的例子,教你怎么用FTP上传文件。

使用 os.remove 来删除本地文件。

撰写回答