#if-statement #syntax #try-catch #except
#if-statement #синтаксис #попробуйте-поймать #кроме
Вопрос:
Итак, я пытаюсь настроить небольшой скрипт в IDLE Python. Проверка синтаксиса в режиме ожидания сообщает мне, что в этом коде есть синтаксическая ошибка:
from ftplib import FTP
import os
def ftpconnect(address, username, password):
ftp_connection = 0
ftp = FTP(address)
try:
ftp.login(username, password)
print(ftp.getwelcome())
if ftp.getwelcome() == '220 FTP Connected!':
return 1
else:
return 0
print(ftpconnect('10.10.10.xxx', 'xxx', 'xxx'))
Синтаксическая ошибка возникает везде, где я пытаюсь выйти из инструкции «try», здесь это строка «else:». Я огляделся, и кажется, что у меня правильный синтаксис … есть мысли?
Спасибо! Я использую Python 2, а не 3.
Комментарии:
1. Наконец-то разобрался, см. Ответ…
2. что именно вы пытаетесь сделать с
try/else
?else
теперь имеет смысл (и недействителен), если ему не предшествуетexcept
.3. Глядя на это годы спустя, вы абсолютно правы! Я полностью пропустил там
except
заявление, которое должно было быть моим первым шагом.
Ответ №1:
В дополнение к проблеме с моим синтаксисом (полностью отсутствует оператор except), мой оператор ftp attempt находился за пределами try
блока. Поскольку я не «пробовал» это, это все равно не удалось.