如何解决python ftp文件线程或多进程
multiprocessing.Pool
作为更高级别的界面,您可能会发现有用。
from multiprocessing import Pool
def upload(file):
ftp = ftplib.FTP('domainname.com')
ftp.login("username","password")
f = open(x,'rb')
ftp.storbinary('STOR %s' %x, f)
f.close()
ftp.quit()
infiles = [file1,file2,file3.....filen]
pool = Pool(10) # submit 10 at once
pool.map(upload,infiles)
很好,因为map
其行为类似于内置函数。对于调试,只需替换pool.map
->即可map
。
解决方法
我们不断从数据库中生成数据文件,然后通过FTP’D将数据文件传输到其他位置。我们有一个极化器,它不断监视此文件夹,并在它看到文件后立即将其作为FTP的文件
当前,此过程是顺序的,当文件变大时,会有备份,这会导致严重的延迟。我想并行处理事情,即一次处理多个文件。我不确定线程/多处理以及它如何为我工作。
这是我的代码
import ftplib
ftp = ftplib.FTP('domainname.com')
ftp.login("username","password")
infiles = [file1,file2,file3.....filen]
for x in infiles:
f = open(x,'rb')
ftp.storbinary('STOR %s' %x,f)
f.close()
ftp.quit()
我在想,因为这是I / O密集型工作,所以多处理是必经之路,有关如何进行的任何想法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。