Когда я запускаю эту часть:
directory = ftp.pwd()
file_name = 'config.single'
ftp.cwd('plugins/GAListener')
print('dir:', directory)
ftp.cwd('plugins/CrateReloaded/crates')
Там написано:
ftplib.error_perm: 550 Нет такого файла или каталога.
Когда я несколько раз меняю каталог внутри оператора if, он работает нормально.
Вы не можете изменить рабочий каталог таким образом? Нужно ли выполнять сброс в основной каталог сервера, прежде чем перейти на другой? Если да, то как мне это сделать?
Какая бы директива ни была в коде первой, та, к которой она идет, затем выдает ошибку при попытке перейти на вторую. Со вторым ftp.cwd()
закомментированным, первый работает без проблем, независимо от того, на какой каталог он указывает, поэтому они определенно оба там.
Кроме того, когда я печатаю directory
, он просто печатает/
, а не plugins/GAListener
.
Редактировать: При выполнении этого внутри оператора if все каталоги идут туда, куда они должны, и мне не дают ошибок без косой черты.
if day_of_week == 0 and file_name not in ftp.nlst():
ftp.rename('config.yml', 'config.single')
ftp.rename('config.double', 'config.yml')
print('plugins/GAListener/config.yml is now plugins/GAListener/config.single.')
print('plugins/GAListener/config.double is now plugins/GAListener/config.yml.')
ftp.cwd('plugins/MOTDCountdown')
ftp.rename('config.yml', 'config.sunday')
ftp.rename('config.monday', 'config.yml')
print('plugins/MOTDCountdown/config.yml is now plugins/MOTDCountdown/config.sunday.')
print('plugins/MOTDCountdown/config.monday is now plugins/MOTDCountdown/config.yml.')
ftp.cwd('plugins/Essentials')
ftp.rename('motd.txt', 'motd.sunday')
ftp.rename('motd.monday', 'motd.txt')