python 实现ftp上传下载文件
Python的ftplib包提供了ftp文件上传、下载等功能,使用ftplib包能够很容易的开发ftp相关的功能。
python版本:3.4.8
1. python ftp上传下载文件源码
# coding:utf8
from ftplib import FTP
def upload(f, remote_path, local_path):
fp = open(local_path, "rb")
buf_size = 1024
f.storbinary("STOR {}".format(remote_path), fp, buf_size)
fp.close()
def download(f, remote_path, local_path):
fp = open(local_path, "wb")
buf_size = 1024
f.retrbinary('RETR {}'.format(remote_path), fp.write, buf_size)
fp.close()
if __name__ == "__main__":
ftp = FTP()
ftp.connect("127.0.0.1", 21)
ftp.login("ftp_user", "ftp_password")
ftp.cwd("/tmp")
upload(ftp, "ftp_a.txt", "/tmp/a.txt")
download(ftp, "ftp_a.txt", "/tmp/b.txt")
ftp.quit()
- ftp.connect("127.0.0.1", 21),第一个参数可以是ftp服务器的ip或者域名,第二个参数为ftp服务器的连接端口,默认为21
- ftp.login("ftp_user", "ftp_password"),第一个参数为ftp用户名,第二个参数为ftp登录密码,如果匿名登录,直接使用ftp.login()
- ftp.cwd("/tmp"),切换到tmp目录,/tmp目录是ftp里面的目录,不是本地目录
- upload(ftp, "ftp_a.txt", "/tmp/a.txt"),将本地/tmp/a.txt文件上传到ftp服务器的/tmp目录,命名为ftp_a.txt
- download(ftp, "ftp_a.txt", "/tmp/b.txt"),将ftp服务器/tmp目录下的ftp_a.txt文件下载到本地目录/tmp,命名为b.txt
2. FTP对象的其他常用方法
- ftp.dir(),显示目录下所有信息
- ftp.nlst(),获取目录下的文件,显示的是文件名列表
- ftp.mkd(directory),新建远程目录
- ftp.rmd(directory),删除远程目录
- ftp.rename(old, new),将远程文件old重命名为new
- ftp.delete(file_name),删除远程文件
文章评论