Ë ‚Ö¦i¯‡ ã ó® — d Z ddlZddlZddlmZ g d¢ZdZdZdZ G d„ d e« Z G d „ de « Z G d„ d e « Z G d„ de « Z G d„ de « Z e eefZdZdZ G d„ d« Z ddlZej* Z G d„ de« Zej1 d« e eeej2 fZdad„ Zdad„ Zd„ Zd„ Z d„ Z!d d„Z"d„ Z#e$dk( r e#« yy# e$ r dZY Œ1w xY w)!aS An FTP client class and some helper functions. Based on RFC 959: File Transfer Protocol (FTP), by J. Postel and J. Reynolds Example: >>> from ftplib import FTP >>> ftp = FTP('ftp.python.org') # connect to host, default port >>> ftp.login() # default, i.e.: user anonymous, passwd anonymous@ '230 Guest login ok, access restrictions apply.' >>> ftp.retrlines('LIST') # list directory contents total 9 drwxr-xr-x 8 root wheel 1024 Jan 3 1994 . drwxr-xr-x 8 root wheel 1024 Jan 3 1994 .. drwxr-xr-x 2 root wheel 1024 Jan 3 1994 bin drwxr-xr-x 2 root wheel 1024 Jan 3 1994 etc d-wxrwxr-x 2 ftp wheel 1024 Sep 5 13:43 incoming drwxr-xr-x 2 root wheel 1024 Nov 17 1993 lib drwxr-xr-x 6 1094 wheel 1024 Sep 13 19:07 pub drwxr-xr-x 3 root wheel 1024 Jan 3 1994 usr -rw-r--r-- 1 root root 312 Aug 1 1994 welcome.msg '226 Transfer complete.' >>> ftp.quit() '221 Goodbye.' >>> A nice test that reveals some of the network dialogue would be: python ftplib.py -d localhost -l -p -l é N)Ú_GLOBAL_DEFAULT_TIMEOUT)ÚFTPÚerror_replyÚ error_tempÚ error_permÚerror_protoÚ all_errorsé é é c ó — e Zd Zy)ÚErrorN©Ú__name__Ú __module__Ú__qualname__© ó ú/usr/lib64/python3.12/ftplib.pyr r 9 ó … r r c ó — e Zd Zy)r Nr r r r r r : r r r c ó — e Zd Zy)r Nr r r r r r ; r r r c ó — e Zd Zy)r Nr r r r r r <