DAY 204 python FTP上传和下载文件
1. 连接FTP server
import ftplib ftp = ftplib.FTP(ftpserver, user, passwd)
等同于
import ftplib ftp = ftplib.FTP() ftp.connect(ftpserver) ftp.login(user,passwd)
对于初始化函数FTP(),如果指定host,则自动调用connect函数,如果指定了user和passwd,则自动调用login,如果都没指定,就什么都不做,需要显示调用。
2. upload
import ftplib
def uploadToFTP(filename, targetdir, ftpserver, user="user", passwd="123"):
rtd = 0
targetdir = targetdir.split(ftpserver)[-1] # remove ftpserver string from targetdir string if contain
fp = open(filename, 'rb')
ftp = ftplib.FTP(ftpserver, user, passwd) # make connection and login FTP
try:
ftp.cwd(targetdir)
except ftplib.error_perm:
print "Error: cannot upload to FTP, no such folder"
return -2
try:
ftp.storbinary('STOR %s/%s'%(targetdir,filename), fp)
except Exception, e:
traceback.print_exc()
rtd = 1
finally:
fp.close()
ftp.quit()
return rtd
3. download
# ftp.retrbinary(cmd, callback, blocksize=8192, rest=None)
def downloadfile()
remotepath = "/home/pub/dog.jpg";
localpath = 'f:\\test\\dog.jpg'
fp = open(localpath,'wb') #以写模式在本地打开文件
ftp.retrbinary('RETR ' + remotepath,fp.write,bufsize) #接收服务器上文件并写入本地文件
ftp.set_debuglevel(0) #关闭调试
fp.close()
ftp.quit() #退出ftp服务器


浙公网安备 33010602011771号