#!/usr/bin/python3
# -*- coding: utf-8 -*-
from ftplib import FTP
def ftpconnect(host,port, username, password):
ftp = FTP()
ftp.set_debuglevel(2) #打开调试级别2,显示详细信息
ftp.connect(host, port) #连接
ftp.login(username, password) #登录,如果匿名登录则用空串代替即可
return ftp
def uploadFile(ftp,remotePath,localPath):
try:
#创建ftp目录
dirs = str(remotePath).split("/")
curdir=""
for d in dirs:
if(-1 != d.find(".")):
break
curdir = curdir + "/"+ d
print("creat dir:"+curdir);
try:
ftp.cwd(curdir)
except Exception as e:
ftp.mkd(curdir)
ftp.cwd("/")
bufsize=1024 #设置的缓冲区大小
f=open(localPath,"rb")
ftp.storbinary("STOR %s" % remotePath,f,bufsize) #上传目标文件
ftp.quit()
f.close()
return True
except Exception as e:
print('Error:', e)
ftp.quit()
return False
def downFile(ftp,remotePath,localPath):
try:
bufsize=1024 #设置的缓冲区大小
f=open(localPath,"wb")
ftp.retrbinary("RETR %s" % remotePath,f.write,bufsize) #上传目标文件
ftp.quit()
f.close()
return True
except Exception as e:
print('Error:', e)
ftp.quit()
return False
ftp = ftpconnect("xxx",21,"xxx","xxx")
print(ftp.getwelcome())
uploadFile(ftp,u"/2016/10/100.txt","C:/Users/Administrator/Desktop/改动.txt")
#uploadFile(ftp,"/app.png","C:/Users/Administrator/Desktop/app.png")
#downFile(ftp,"/100.txt","C:/Users/Administrator/Desktop/d100.txt")