Как проверить, успешен ли вход по FTP или нет в Python ftplib? - PullRequest
1 голос
/ 14 марта 2019

Я занимаюсь разработкой FTP-клиента с использованием Python ftplib. Вот мой код:

def connectftp():
ftp=ftplib.FTP('hostname')
print(ftp.getwelcome())
ftp.login(username, password)

Я хочу отобразить сообщение «1004 *» при успешном входе на FTP. Как это сделать? Как проверить, успешно ли выполнен вход в систему или нет?

Ответы [ 2 ]

2 голосов
/ 14 марта 2019

То, что вы хотите, это

def connectftp():
    ftp=ftplib.FTP('hostname')
    print(ftp.getwelcome())
    ftp.login(username, password)
    login_response = ftp.login(username, password)
    print(login_response)

login_response должен быть «230 Вход успешен.»

Вы можете проверить документацию ftplib здесь https://docs.python.org/3/library/ftplib.html

0 голосов
/ 14 марта 2019

Метод FTP.login выдает исключение при сбое аутентификации, поэтому вы можете просто сделать:

ftp.login(username, password)
print("Login successful")

Если вы также хотите реагировать на ошибки аутентификации, обработайтеисключение:

try:
    ftp.login(username, password)
    print("Login successful")
    # do your FTP stuff here
except:
    print("Login failed")
...