zoukankan      html  css  js  c++  java
  • python对ftp进行操作

    背景:需要对ftp进行操作,涉及上传和下载操作
     
    from ftplib import FTP
     
    ftp = FTP(host=“ftp的hostname",user=‘登录用户名', passwd='登录密码')  # 连接到ftp
     
    ftp.set_debuglevel(2)  # 打开调试级别2,显示详细信息
     
    def download(filename,bufsize=1024):# bufsize设置的缓冲区大小
        file_handle = open(filename, "wb").write  # 以写模式在本地打开文件
        ftp.retrbinary("RETR %s"%filename, file_handle, bufsize)  # 接收服务器上文件并写入本地文件
     
    def upload(filename,bufsize=1024):
        file_handle2 = open(filename, "rb") # 以只读模式打开本地文件
       filename = filename.split("/")[-1 #有可能上传路径,所以处理一下 ftp.storbinary('STOR %s'%filename, file_handle2, bufsize)#上传本地filename到服务器,filename为上传到服务器上后显示的名字,第二个参数为上传的本地文件 ftp.getwelcome() # 打印出欢迎信息 ftp.cwd('目录名') # 进入远程目录 ftp.rmd(‘目录名') # 在ftp上删除目录 ftp.mkd('目录名') # 在ftp上创建目录 ftp.pwd() # 打印当前ftp目录 ftp.dir() # 打印ftp上当前目录下的所有文件 ftp.quit() # 退出ftp
    具体说明:
    1.ftp = FTP(host=“ftp的hostname",user=‘登录用户名'passwd='登录密码)
    实际调用了FTP().login来登录
     
    2.download从ftp上下载文件
    本地文件需要已wb写模式打开,然后通过retrinary()方法下载
     
    3.upload上传本地文件到ftp服务器上
    本地文件已只读模式打开,然后通过storbinary()方法上传
    第一个参数为上传命令,filename为放到服务器上的名字;第二个参数为要上传的本地文件 
     
    4.其他一些常用方法
    getwelcome():打印ftp欢迎语,在ftp服务器上设置的
    cwd(‘目录名’):进入ftp服务器的某目录,切换目录
    rmd(‘目录名’):删除目录
    mkd(‘目录名’):创建目录
    ftp.pwd():打印当前目录
    dir():打印当前目录下的所有文件
    quit()或close():关闭ftp连接
     
    备注:如果想实现上传目录或根据正则匹配上传文件,需要自己单独写方法
  • 相关阅读:
    WCF和SOA的简介
    .NET 反射应用
    ASP.NET---如何使用web api创建web服务
    获得N位数字字母随机组合
    git的初步使用
    js贪吃蛇
    python多线程
    2013-12-13
    2012-12-12
    2013-12-5
  • 原文地址:https://www.cnblogs.com/meitian/p/7475683.html
Copyright © 2011-2022 走看看