我一直在使用Python的FTP库,我开始认为它比在DOS中使用脚本文件太慢了?我运行下载数千个数据文件的会话(我想我现在有800多万个)。我的观察是,与在DOS shell中使用ftp命令相比,在Python中下载过程似乎花费了五到十倍的时间。
因为我不想让任何人修复我的代码,所以我没有包含任何代码。我更感兴趣的是了解我的观察结果是否有效,或者我是否需要对论点进行更多的修改。
发布于 2009-05-07 14:35:35
FTPLib是用Python语言实现的,而你的"DOS脚本“实际上是一个调用编译命令的脚本。执行此命令可能比解释Python代码更快。如果它对你来说太慢了,我建议使用subprocess module从Python中调用DOS命令。
发布于 2009-05-07 15:51:10
速度问题可能出在您的代码中。FTPlib的速度不会慢10倍。
发布于 2014-10-11 19:23:22
定义块大小和ftp连接的storbinary,这样你将获得比FTP Filezilla快1.5-3.0倍的连接速度:)
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"https://stackoverflow.com/questions/834840
复制相似问题