• Benjamin Peterson's avatar
    Merged revisions… · 8719ad5d
    Benjamin Peterson yazdı
    Merged revisions 74277,74321,74323,74326,74355,74465,74467,74488,74492,74513,74531,74549,74553,74625,74632,74643-74644,74647,74652,74666,74671,74727,74739 via svnmerge from
    svn+ssh://pythondev@svn.python.org/python/trunk
    
    ........
      r74277 | sean.reifschneider | 2009-08-01 18:54:55 -0500 (Sat, 01 Aug 2009) | 3 lines
    
      - Issue #6624: yArg_ParseTuple with "s" format when parsing argument with
        NUL: Bogus TypeError detail string.
    ........
      r74321 | guilherme.polo | 2009-08-05 11:51:41 -0500 (Wed, 05 Aug 2009) | 1 line
    
      Easier reference to find (at least while svn continues being used).
    ........
      r74323 | guilherme.polo | 2009-08-05 18:48:26 -0500 (Wed, 05 Aug 2009) | 1 line
    
      Typo.
    ........
      r74326 | jesse.noller | 2009-08-05 21:05:56 -0500 (Wed, 05 Aug 2009) | 1 line
    
      Fix issue 4660: spurious task_done errors in multiprocessing, remove doc note for from_address
    ........
      r74355 | gregory.p.smith | 2009-08-12 12:02:37 -0500 (Wed, 12 Aug 2009) | 2 lines
    
      comment typo fix
    ........
      r74465 | vinay.sajip | 2009-08-15 18:23:12 -0500 (Sat, 15 Aug 2009) | 1 line
    
      Added section on logging to one file from multiple processes.
    ........
      r74467 | vinay.sajip | 2009-08-15 18:34:47 -0500 (Sat, 15 Aug 2009) | 1 line
    
      Refined section on logging to one file from multiple processes.
    ........
      r74488 | vinay.sajip | 2009-08-17 08:14:37 -0500 (Mon, 17 Aug 2009) | 1 line
    
      Further refined section on logging to one file from multiple processes.
    ........
      r74492 | r.david.murray | 2009-08-17 14:26:49 -0500 (Mon, 17 Aug 2009) | 2 lines
    
      Issue 6685: 'toupper' -> 'upper' in cgi doc example explanation.
    ........
      r74513 | skip.montanaro | 2009-08-18 09:37:52 -0500 (Tue, 18 Aug 2009) | 1 line
    
      missing module ref (issue6723)
    ........
      r74531 | vinay.sajip | 2009-08-20 17:04:32 -0500 (Thu, 20 Aug 2009) | 1 line
    
      Added section on exceptions raised during logging.
    ........
      r74549 | benjamin.peterson | 2009-08-24 12:42:36 -0500 (Mon, 24 Aug 2009) | 1 line
    
      fix pdf building by teaching latex the right encoding package
    ........
      r74553 | r.david.murray | 2009-08-26 20:04:59 -0500 (Wed, 26 Aug 2009) | 2 lines
    
      Remove leftover text from end of sentence.
    ........
      r74625 | benjamin.peterson | 2009-09-01 17:27:57 -0500 (Tue, 01 Sep 2009) | 1 line
    
      remove the check that classmethod's argument is a callable
    ........
      r74632 | georg.brandl | 2009-09-03 02:27:26 -0500 (Thu, 03 Sep 2009) | 1 line
    
      #6828: fix wrongly highlighted blocks.
    ........
      r74643 | georg.brandl | 2009-09-04 01:59:20 -0500 (Fri, 04 Sep 2009) | 2 lines
    
      Issue #2666: Handle BROWSER environment variable properly for unknown browser names in the webbrowser module.
    ........
      r74644 | georg.brandl | 2009-09-04 02:55:14 -0500 (Fri, 04 Sep 2009) | 1 line
    
      #5047: remove Monterey support from configure.
    ........
      r74647 | georg.brandl | 2009-09-04 03:17:04 -0500 (Fri, 04 Sep 2009) | 2 lines
    
      Issue #5275: In Cookie's Cookie.load(), properly handle non-string arguments as documented.
    ........
      r74652 | georg.brandl | 2009-09-04 06:25:37 -0500 (Fri, 04 Sep 2009) | 1 line
    
      #6756: add some info about the "acct" parameter.
    ........
      r74666 | georg.brandl | 2009-09-05 04:04:09 -0500 (Sat, 05 Sep 2009) | 1 line
    
      #6841: remove duplicated word.
    ........
      r74671 | georg.brandl | 2009-09-05 11:47:17 -0500 (Sat, 05 Sep 2009) | 1 line
    
      #6843: add link from filterwarnings to where the meaning of the arguments is covered.
    ........
      r74727 | benjamin.peterson | 2009-09-08 18:04:22 -0500 (Tue, 08 Sep 2009) | 1 line
    
      #6865 fix ref counting in initialization of pwd module
    ........
      r74739 | georg.brandl | 2009-09-11 02:55:20 -0500 (Fri, 11 Sep 2009) | 1 line
    
      Move function back to its section.
    ........
    8719ad5d
ftplib.rst 11.8 KB

:mod:`ftplib` --- FTP protocol client

This module defines the class :class:`FTP` and a few related items. The :class:`FTP` class implements the client side of the FTP protocol. You can use this to write Python programs that perform a variety of automated FTP jobs, such as mirroring other ftp servers. It is also used by the module :mod:`urllib.request` to handle URLs that use FTP. For more information on FTP (File Transfer Protocol), see Internet RFC 959.

Here's a sample session using the :mod:`ftplib` module:

>>> from ftplib import FTP
>>> ftp = FTP('ftp.cwi.nl')   # connect to host, default port
>>> ftp.login()               # user anonymous, passwd anonymous@
>>> ftp.retrlines('LIST')     # list directory contents
total 24418
drwxrwsr-x   5 ftp-usr  pdmaint     1536 Mar 20 09:48 .
dr-xr-srwt 105 ftp-usr  pdmaint     1536 Mar 21 14:32 ..
-rw-r--r--   1 ftp-usr  pdmaint     5305 Mar 20 09:48 INDEX
 .
 .
 .
>>> ftp.retrbinary('RETR README', open('README', 'wb').write)
'226 Transfer complete.'
>>> ftp.quit()

The module defines the following items:

Return a new instance of the :class:`FTP` class. When host is given, the method call connect(host) is made. When user is given, additionally the method call login(user, passwd, acct) is made (where passwd and acct default to the empty string when not given). The optional timeout parameter specifies a timeout in seconds for blocking operations like the connection attempt (if is not specified, the global default timeout setting will be used).

FTP Objects

Several methods are available in two flavors: one for handling text files and another for binary files. These are named for the command which is used followed by lines for the text version or binary for the binary version.

:class:`FTP` instances have the following methods: