V: d Z ddlZddlZddlmZ g dZdZdZdZ 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 Ze d e eeej fZn # e$ r dZY nw xY wdad Zdad Zd Zd Z d Z!d"dZ"d Z#e$d!k r e# dS dS )#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)FTPerror_reply error_temp error_permerror_proto all_errors c e Zd ZdS )ErrorN__name__ __module____qualname__ 3/opt/alt/python-internal/lib64/python3.11/ftplib.pyr r 9 r r c e Zd ZdS )r Nr r r r r r : r r r c e Zd ZdS )r Nr r r r r r ; r r r c e Zd ZdS )r Nr r r r r r <