首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python的FTPLib太慢了?

问Python的FTPLib太慢了?
EN

Stack Overflow用户
提问于 2009-05-07 14:05:12
回答 7查看 7.8K关注 0票数 4

我一直在使用Python的FTP库,我开始认为它比在DOS中使用脚本文件太慢了?我运行下载数千个数据文件的会话(我想我现在有800多万个)。我的观察是,与在DOS shell中使用ftp命令相比,在Python中下载过程似乎花费了五到十倍的时间。

因为我不想让任何人修复我的代码,所以我没有包含任何代码。我更感兴趣的是了解我的观察结果是否有效,或者我是否需要对论点进行更多的修改。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-05-07 14:35:35

FTPLib是用Python语言实现的,而你的"DOS脚本“实际上是一个调用编译命令的脚本。执行此命令可能比解释Python代码更快。如果它对你来说太慢了,我建议使用subprocess module从Python中调用DOS命令。

票数 3
EN

Stack Overflow用户

发布于 2009-05-07 15:51:10

速度问题可能出在您的代码中。FTPlib的速度不会慢10倍。

票数 4
EN

Stack Overflow用户

发布于 2014-10-11 19:23:22

定义块大小和ftp连接的storbinary,这样你将获得比FTP Filezilla快1.5-3.0倍的连接速度:)

代码语言:javascript
复制
from ftplib import FTP

USER = "Your_user_id"
PASS = "Your_password"
PORT = 21
SERVER = 'ftp.billionuploads.com' #use FTP server name here

ftp = FTP()
ftp.connect(SERVER, PORT)
ftp.login(USER, PASS)

try:
    file = open(r'C:\Python27\1.jpg','rb')
    ftp.storbinary('STOR ' + '1.jpg', file,102400) #here we store file in 100kb blocksize
    ftp.quit()
    file.close()
    print "File transfered"
except:
    print "Error in File transfering"
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/834840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档