我有一大堆(大约20k)的大型xml文件,目前存在于FTP服务器上,但我正在转向s3。
此时,所有文件都已移至s3,而我只是准备将其从FTP服务器中删除,但在此之前,我正在快速运行一些文件"大小"检查双方,确保我们的利益。
所有内容都在Python中完成,ftplib
处理FTP调用(我已经检查了它正在做什么,并且使用我的普通FTP GUI客户端读取是正确的),{{1}对于s3方面。
这些文件大约有15k,其中没有尺寸差异,但在大约5k的情况下,可能存在从5B大小差异到boto
的任何内容(&#39} ;我在FTP服务器上16283276B/16MB
的文件中看到的最大差异,但s3上的29055138B/29MB
。
我没有上传任何压缩,有趣的是,如果我进入s3,即使文件大小不同,文件也完全存在。当我打开文件时,因为它是一个XML,很容易看到开始和结束标记是否正确,并且它可以正确显示XML浏览器插件(它没有&#39 ;如果有一些腐败就行了。)
所以是的,我不确定发生了什么,因为这些文件只是从FTP上下载,并上传到Ubuntu服务器上的s3,并且两者都设置了#34;"两个地方的文件似乎都很好,但我不了解(有时是非常大的)文件大小差异。
要从ftp获取文件大小,我在服务器上运行12771862B/12MB
命令,然后解析该行以获取大小。
要下载文件,我正在运行ftplib命令
DIR
要将文件上传到s3(由于boto和s3上的超时错误),我正在运行shell命令,
ftp.retrbinary('RETR {}'.format(source), open(dest, 'wb').write)