精华内容
下载资源
问答
  • ftplib

    2016-05-05 18:20:11
    来个基本印象>>>from ftplib import FTP >>>FTP = FTP('ftp.debian.org') # connect to host, default port >>>FTP.login() # user anonymous, passwd anonymous@ '230 Login successful.' >>>FTP.

    来个基本印象

    >>>from ftplib import FTP
    >>>FTP = FTP('ftp.debian.org')     # connect to host, default port
    >>>FTP.login()                     # user anonymous, passwd anonymous@
    '230 Login successful.'
    >>>FTP.cwd('debian')               # change into "debian" directory
    >>>FTP.retrlines('LIST')           # list directory contents
    -rw-rw-r--    1 1176     1176         1063 Jun 15 10:18 README
    ...
    drwxr-sr-x    5 1176     1176         4096 Dec 19  2000 pool
    drwxr-sr-x    4 1176     1176         4096 Nov 17  2008 project
    drwxr-xr-x    3 1176     1176         4096 Oct 10  2012 tools
    '226 Directory send OK.'
    >>>FTP.retrbinary('RETR README', open('README', 'wb').write)
    '226 Transfer complete.'
    >>>FTP.QUIT()
    methods 说明
    FTP.set_debuglevel(level)
    level可以是0,1,2 。数字越大,使用时给你反馈的信息就越多。
    FTP.connect(host[,PORT[,timeout]])
    三个参数,依次是地址、端口、 超时时间,端口默认是21
    FTP.getwelcome()
    获取欢迎信息,也可能是服务器发送的帮助信息
    FTP.login([user[,passwd[,acct]]])
    用户名、密码、账户信息(这个几乎不用),用来登录
    FTP.abort()
    终止正在传输的文件,有时候不管用,但值得试一试
    FTP.sendcmd(command)
    发送一个命令,返回响应信息
    FTP.set_pasv(boolean)
    是否采用passive模式
    FTP.retrbinary(command,callback[,maxblocksize[,rest]])
    二进制下载方式
    FTP.retrlines(command[,callback])
    ascii下载方式
    FTP.storbinary(command,Documentation[,blocksize,callback,rest])
    二进制上传方式
    FTP.storlines(command,Documentation[,callback])
    ascii上传方式
    FTP.nlst(argument[,…])
    只列出文件名
    FTP.dir(argument[,…])
    列出文件的详细信息
    FTP.rename(fromname,toname)
    改名称
    FTP.delete(filename)
    删除文件,如果失败会返回错误信息
    FTP.cwd(pathname)
    修改当前的工作目录(在服务器上)
    FTP.mkd(pathname)
    在服务器上新建一个目录
    FTP.pwd()
    显示当前工作路径
    FTP.rmd(dirname)
    删除目录
    FTP.size(filename)
    申请文件的大小,失败会返回None
    FTP.quit()
    先告诉服务器,礼貌的退出
    FTP.close()
    单方强制关掉
    展开全文
  • python ftplib

    2008-09-26 14:11:11
    python ftplib python ftplib python ftplib python ftplib python ftplib python ftplib
  • ftplib和ftplibpp

    2020-03-10 13:14:47
    ftplib 4.0 c代码 ftplibpp c++代码 里面use_ftplib 和 use_ftplibpp说明了库在开发客户端程序 函数大概说明和调用 用qtreator5.11.0 vc2015 32位编 环境译测试通过。
  • Thomas Pfau的ftplib的前叉,它似乎已被废弃。
  • ftplib.rar

    2020-03-10 09:58:36
    ftplib 4.0 c代码 ftplibpp c++代码 里面use_ftplib 和 use_ftplibpp说明了库在开发客户端程序 函数大概说明和调用 用qtreator5.11.0 vc2015 32位编 环境译测试通过。 这个资源有问题,不知道怎么删除,请到地址...
  • from ftplib import FTP def ftpconnect(): ftp_server = 'xxxxxxxxxxx' username = 'xxxxxxxxxx' password = 'xxxxxxxxxx' ftp = FTP() ftp.set_debuglevel(2) ftp.connect(ftp_server, 21) ftp.login(username, ...
  • Python ftplib

    2016-12-08 22:26:42
    阅读目录函数释义 ...Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件,函数列举如下:ftp登陆连接 from ftplib import FTP #加载ftp模块 ftp=FTP()

    阅读目录

    函数释义
    例1:下载、上传文件
    例2:上传、下载文件/目录
    例3:异常处理
    ftp例子参考链接

    函数释义
    Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件,函数列举如下:

    ftp登陆连接
    from ftplib import FTP #加载ftp模块
    ftp=FTP() #设置变量
    ftp.set_debuglevel(2) #打开调试级别2,显示详细信息
    ftp.connect(“IP”,”port”) #连接的ftp sever和端口
    ftp.login(“user”,”password”) #连接的用户名,密码
    print ftp.getwelcome() #打印出欢迎信息
    ftp.cmd(“xxx/xxx”) #进入远程目录
    bufsize=1024 #设置的缓冲区大小
    filename=”filename.txt” #需要下载的文件
    file_handle=open(filename,”wb”).write #以写模式在本地打开文件
    ftp.retrbinaly(“RETR filename.txt”,file_handle,bufsize) #接收服务器上文件并写入本地文件
    ftp.set_debuglevel(0) #关闭调试模式
    ftp.quit() #退出ftp

    ftp相关命令操作
    ftp.cwd(pathname) #设置FTP当前操作的路径
    ftp.dir() #显示目录下所有目录信息
    ftp.nlst() #获取目录下的文件
    ftp.mkd(pathname) #新建远程目录
    ftp.pwd() #返回当前所在位置
    ftp.rmd(dirname) #删除远程目录
    ftp.delete(filename) #删除远程文件
    ftp.rename(fromname, toname)#将fromname修改名称为toname。
    ftp.storbinaly(“STOR filename.txt”,file_handel,bufsize) #上传目标文件
    ftp.retrbinary(“RETR filename.txt”,file_handel,bufsize) #下载FTP文件
    FTP.quit()与FTP.close()的区别

    FTP.quit():发送QUIT命令给服务器并关闭掉连接。这是一个比较“缓和”的关闭连接方式,但是如果服务器对QUIT命令返回错误时,会抛出异常。
    FTP.close():单方面的关闭掉连接,不应该用在已经关闭的连接之后,例如不应用在FTP.quit()之后。

    例1:下载、上传文件

    #coding: utf-8
    from ftplib import FTP
    import time
    import tarfile
    #!/usr/bin/python
    #-*- coding: utf-8 -*-
    
    from ftplib import FTP
    
    def ftpconnect(host, username, password):
        ftp = FTP()
        #ftp.set_debuglevel(2)         #打开调试级别2,显示详细信息
        ftp.connect(host, 21)          #连接
        ftp.login(username, password)  #登录,如果匿名登录则用空串代替即可
        return ftp
    
    def downloadfile(ftp, remotepath, localpath):
        bufsize = 1024                #设置缓冲块大小
        fp = open(localpath,'wb')     #以写模式在本地打开文件
        ftp.retrbinary('RETR ' + remotepath, fp.write, bufsize) #接收服务器上文件并写入本地文件
        ftp.set_debuglevel(0)         #关闭调试
        fp.close()                    #关闭文件
    
    def uploadfile(ftp, remotepath, localpath):
        bufsize = 1024
        fp = open(localpath, 'rb')
        ftp.storbinary('STOR '+ remotepath , fp, bufsize) #上传文件
        ftp.set_debuglevel(0)
        fp.close()                                    
    
    if __name__ == "__main__":
        ftp = ftpconnect("******", "***", "***")
        downloadfile(ftp, "***", "***")
        uploadfile(ftp, "***", "***")
    
        ftp.quit()

    例2:上传、下载文件/目录

    
    #coding:utf-8
    from ctypes import *
    import os
    import sys
    import ftplib
    
    class myFtp:
        ftp = ftplib.FTP()
        bIsDir = False
        path = ""
        def __init__(self, host, port='21'):
            #self.ftp.set_debuglevel(2) #打开调试级别2,显示详细信息 
            #self.ftp.set_pasv(0)      #0主动模式 1 #被动模式
            self.ftp.connect( host, port )
    
        def Login(self, user, passwd):
            self.ftp.login( user, passwd )
            print self.ftp.welcome
    
        def DownLoadFile(self, LocalFile, RemoteFile):
            file_handler = open( LocalFile, 'wb' )
            self.ftp.retrbinary( "RETR %s" %( RemoteFile ), file_handler.write ) 
            file_handler.close()
            return True
    
        def UpLoadFile(self, LocalFile, RemoteFile):
            if os.path.isfile( LocalFile ) == False:
                return False
            file_handler = open(LocalFile, "rb")
            self.ftp.storbinary('STOR %s'%RemoteFile, file_handler, 4096)
            file_handler.close()
            return True
    
        def UpLoadFileTree(self, LocalDir, RemoteDir):
            if os.path.isdir(LocalDir) == False:
                return False
            print "LocalDir:", LocalDir
            LocalNames = os.listdir(LocalDir)
            print "list:", LocalNames
            print RemoteDir
            self.ftp.cwd( RemoteDir )
            for Local in LocalNames:
                src = os.path.join( LocalDir, Local)
                if os.path.isdir( src ): self.UpLoadFileTree( src, Local )
                else:
                    self.UpLoadFile( src, Local )
    
            self.ftp.cwd( ".." )
            return
    
        def DownLoadFileTree(self, LocalDir, RemoteDir):
            print "remoteDir:", RemoteDir
            if os.path.isdir( LocalDir ) == False:
                os.makedirs( LocalDir )
            self.ftp.cwd( RemoteDir )
            RemoteNames = self.ftp.nlst()  
            print "RemoteNames", RemoteNames
            print self.ftp.nlst("/del1")
            for file in RemoteNames:
                Local = os.path.join( LocalDir, file )
                if self.isDir( file ):
                    self.DownLoadFileTree( Local, file )                
                else:
                    self.DownLoadFile( Local, file )
            self.ftp.cwd( ".." )
            return
    
        def show(self, list):
            result = list.lower().split( " " )
            if self.path in result and "<dir>" in result:
                self.bIsDir = True
    
        def isDir(self, path):
            self.bIsDir = False
            self.path = path
            #this ues callback function ,that will change bIsDir value
            self.ftp.retrlines( 'LIST', self.show )
            return self.bIsDir
    
        def close(self):
            self.ftp.quit()
    
    if __name__ == "__main__":
        ftp = myFtp('*****')
        ftp.Login('***','***')
    
        ftp.DownLoadFileTree('del', '/del1')#ok
        ftp.UpLoadFileTree('del', "/del1" )
        ftp.close()
        print "ok!"

    注:目录内为文件,若为目录则无法传输

    例3:异常处理

    #coding: utf-8
    #from ftplib import FTP
    import ftplib
    import socket
    import os
    
    def ftpconnect(ftp_info):
        try:
            ftp = ftplib.FTP(ftp_info[0])
        except (socket.error, socket.gaierror):
            print "ERROR: cannot reach %s" % ftp_info[0]
            return None
    
        username = ftp_info[1]
        passwd = ftp_info[2]
        try:
            ftp.login(username, passwd)
        except ftplib.error_perm:
            print "ERROR: cannot login anonymously"
            ftp.quit()
            return None
        return ftp
    
    if __name__ == "__main__":
        info_list = ["10.19.3.199", "fastupdate_amap", "@utonavi&A.map"]
        ftp = ftpconnect(info_list)
        if not ftp:
            exit(1)
        bufsize = 1024
        fname = "20150416113942674.tar.gz"
        fp = open(os.path.join(".", fname), 'wb')
        remotefile = os.path.join("/ADF++", fname)
        ftp.retrbinary("RETR " + remotefile, fp.write, bufsize)
    
        #是否有目录,没有就创建;有的话看是否有权限创建
        a = ftp.dir()
        try:
            ftp.cwd("jimi")
        except ftplib.error_perm:
            try:
                ftp.mkd("jimi")
            except ftplib.error_perm:
                print "WARNING: U have no authority to make dir"
        finally:
            ftp.quit()
    展开全文
  • I'm learning Python and I tried using the FTPLib module for Python with this code:import ftplibconnect = ftplib.FTP('ftp://www.website.com')connect.login = ('username', 'password')data = []connect.dir...

    I'm learning Python and I tried using the FTPLib module for Python with this code:

    import ftplib

    connect = ftplib.FTP('ftp://www.website.com')

    connect.login = ('username', 'password')

    data = []

    connect.dir(data.append)

    connect.quit()

    for line in data:

    print line

    (I'm aware that the website, username and password is incorrect, I used my website data which I don't want to share) I received the following error after running the code:

    Traceback (most recent call last):

    File "ftp.py", line 3, in

    ftp = FTP('ftp://www.website.com') # connect to host, default port

    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ftplib.py", line 120, in __init__

    self.connect(host)

    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ftplib.py", line 135, in connect

    self.sock = socket.create_connection((self.host, self.port), self.timeout)

    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 553, in create_connection

    for res in getaddrinfo(host, port, 0, SOCK_STREAM):

    socket.gaierror: [Errno 8] nodename nor servname provided, or not known

    Just to clarify, I'm using Python 2.7 on a Mac. I don't think there is anymore details I could share. Thank you for your help!

    解决方案

    Thanks Joel Hinz, I just needed to remove 'ftp://' from my hostname. Thanks!

    展开全文
  • 主要介绍了Python FtpLib模块应用操作,结合实例形式详细分析了FtpLib模块的功能、配置、应用相关操作技巧与使用注意事项,需要的朋友可以参考下
  • ftplib模块

    2016-10-26 12:21:29
    Python中的ftplib模块 Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件 FTP的工作流程及基本操作可参考协议RFC959 ftp登陆连接 from ftplib import FTP...

    Python中的ftplib模块

    Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件

    FTP的工作流程及基本操作可参考协议RFC959

    ftp登陆连接

    from ftplib import FTP #加载ftp模块

    ftp=FTP() #设置变量
    ftp.set_debuglevel(2) #打开调试级别2,显示详细信息
    ftp.connect("IP","port") #连接的ftp sever和端口
    ftp.login("user","password")#连接的用户名,密码
    print ftp.getwelcome() #打印出欢迎信息
    ftp.cmd("xxx/xxx") #更改远程目录
    bufsize=1024 #设置的缓冲区大小
    filename="filename.txt" #需要下载的文件
    file_handle=open(filename,"wb").write #以写模式在本地打开文件
    ftp.retrbinaly("RETR filename.txt",file_handle,bufsize) #接收服务器上文件并写入本地文件
    ftp.set_debuglevel(0) #关闭调试模式
    ftp.quit #退出ftp

    ftp相关命令操作

    ftp.cwd(pathname) #设置FTP当前操作的路径
    ftp.dir() #显示目录下文件信息
    ftp.nlst() #获取目录下的文件
    ftp.mkd(pathname) #新建远程目录
    ftp.pwd() #返回当前所在位置
    ftp.rmd(dirname) #删除远程目录
    ftp.delete(filename) #删除远程文件
    ftp.rename(fromname, toname)#将fromname修改名称为toname。
    ftp.storbinaly("STOR filename.txt",file_handel,bufsize) #上传目标文件
    ftp.retrbinary("RETR filename.txt",file_handel,bufsize)#下载FTP文件
    展开全文
  • You can use ftplib for full FTP support in Python. However the preferred way of getting a directory listing is:# File: ftplib-example-1.pyimport ftplibftp = ftplib.FTP("www.python.org")ftp.login("anon...
  • 主要介绍了python ftplib模块使用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Python ftplib模块

    2019-04-19 19:12:00
    Python ftplib模块 官方文档:https://docs.python.org/3/library/ftplib.html?highlight=ftplib#module-ftplib 实例:https://www.example-code.com/python/ftp.asp ftp登陆连接 from ftplib import FTP #...
  • ftplib-4.0

    2015-02-12 13:10:49
    All programs using the library should include ftplib.h. FTP开源库。 Miscellaneous Functions FtpInit() - Initialize the library FtpSite() - Send a 'SITE' command FtpLastResponse() - Retrieve last ...
  • 主要介绍了python通过ftplib登录到ftp服务器的方法,涉及Python使用ftplib模块的相关技巧,需要的朋友可以参考下
  • 主要介绍了Python使用ftplib实现简易FTP客户端的方法,实例分析了ftplib模块相关设置与使用技巧,需要的朋友可以参考下
  • ftplib python ftp

    2019-10-03 23:40:57
    ftplib python ftp 在气象领域,FTP是比较常用的一个数据来源。本文尝试采用python的ftplib包,实现了从指定ftp服务器中批量下载文件的功能。供大家学习参考。 ...
  • ftplib模块中拥有FTP类,可以做到FTP协议下的各种上传下载操作,以下就来看一下Python中的FTP通信模块ftplib的用法整理:
  • python ftplib模块

    2020-08-20 15:58:27
    from ftplib import FTP ftp=FTP() #设置变量 ftp.set_debuglevel(2) #打开调试级别2,显示详细信息 ftp.connect("IP","port") #连接的ftp sever和端口 ftp.login("user","password")#连接的用户名,密码 print ftp...
  • ftplib源码剖析

    千次阅读 2015-07-07 21:12:25
    ftplib是一组例程实现FTP协议。他们允许应用程序创建和访问远程文件通过函数调用,而不是需要叉和执行一个交互式的ftp客户端程序。 ftplib已经在Linux上构建和测试(X86)、Mac os x和OpenVMS(AXP)。 很快:我正在使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,503
精华内容 1,401
关键字:

ftplib