Привет всем, быстрый вопрос, я создал простой скрипт на Python для удаленного входа на FTP-сервер, который позволяет пользователям изменять каталоги, печатая указанный путь, и получать список файлов, и вводить имя файлов, которые онихочу скачать.По сути, это простой скрипт навигации / загрузки, который я сделал как проект, чтобы узнать больше о некоторых функциях библиотек, связанных с FTP.Я знаю, что, скорее всего, есть исправление для того, о чем я говорю, однако мне интересно, есть ли способ попробовать / исключить ошибку 550 или обработать его так, чтобы пользователь вводил имя каталога без сбоевпрограмма.это то, что я имею до сих пор, и я в основном задаюсь вопросом, куда бы я добавил попытку, кроме как и как бы я ее реализовал?Кстати, вот фактическая ошибка от программы после попытки изменить каталог, который не существует: ftplib.error_perm: 550 Не удалось изменить каталог.Обратите внимание, что я ищу способ обойти это без сбоев программы!спасибо!
def FTPRETR(ftp):
currentdirectory = ftp.pwd()
print(currentdirectory)
print('current files in the directory.')
print('-----------------------------------')
print(' ')
files = ftp.nlst(currentdirectory)
print(files)
print(' ')
print('-----------------------------------')
keepgoing = 1
while keepgoing !=0:
filename = str(input('please enter the name of the file with its
extension to be downloaded,Press C to change directory,'
'press L to list all of the contents'
' or press Q to quit')).lower()
if str(filename) == 'q':
keepgoing = keepgoing -1
elif str(filename) == 'c':
cwd = str(input('please enter the directory you wish to change
to.'))
ftp.cwd(cwd)
workingdir = ftp.pwd()
print(workingdir)
elif str(filename)== 'l':
workingdirnlist = ftp.pwd()
contents = ftp.nlst(workingdirnlist)
print(contents)
else:
gfile = open(filename, 'wb')
ftp.retrbinary('RETR %s' % filename, gfile.write)
gfile.close()