python FTP上传和下载

近期写一个程序需要上传到公司file server,具体程式如下

#test ftp upload
import ftplib

host='172.30.200.200'
username = " xxxx"
password = "password"

file = "123.txt"

#实例化FTP对象
fp = ftplib.FTP(host)
fp.login(user=username,passwd=password)

#获取当前路径
pwd_path = fp.pwd()
print(pwd_path)

#ftp upload
def ftp_upload():
    file_remote = "TEST\\test\\12345.txt"
    file_local = "123.txt"
    file = open(file_local,'rb')
    fp.storbinary('STOR %s'%file_remote,file,1024)
    file.close()

def ftp_download():
    file_remote = "TEST\\test\\test.txt"
    file_local = "test.txt"
    file = open(file_local, 'wb')
    fp.retrbinary('RETR %s'%file_remote, file.write, 1024)
    file.close()

ftp_download()
fp.quit()

 

 

以下转自网友博客:

 FTP对象方法说明

  • login(user='anonymous',passwd='', acct='') 登录 FTP 服务器,所有参数都是可选的
  • pwd() 获得当前工作目录
  • cwd(path) 把当前工作目录设置为 path 所示的路径
  • dir ([path[,...[,cb]]) 显示 path 目录里的内容,可选的参数 cb 是一个回调函数,会传递给 retrlines()方法
  • nlst ([path[,...]) 与 dir()类似, 但返回一个文件名列表,而不是显示这些文件名
  • retrlines(cmd [, cb]) 给定 FTP命令(如“ RETR filename”),用于下载文本文件。可选的回调函数 cb 用于处理文件的每一行
  • retrbinary(cmd,cb[,bs=8192[, ra]]) 与 retrlines()类似,只是这个指令处理二进制文件。回调函数 cb 用于处理每一块(块大小默认为 8KB)下载的数据
  • storlines(cmd, f) 给定 FTP 命令(如“ STOR filename”),用来上传文本文件。要给定一个文件对象 f
  • storbinary(cmd, f,[,bs=8192]) 与 storlines()类似,只是这个指令处理二进制文件。要给定一个文件对象 f,上传块大小 bs 默认为 8KB
  • rename(old, new) 把远程文件 old 重命名为 new
  • delete(path) 删除位于 path 的远程文件
  • mkd(directory) 创建远程目录
  • rmd(directory) 删除远程目录
  • quit() 关闭连接并退出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值