Загрузка файла ftp с сервера; Я сталкиваюсь с ошибкой 550 (система не может найти указанный файл) - PullRequest
0 голосов
/ 17 мая 2019

Я немного новичок в настройке загрузки по FTP и ищу решение проблемы, чтобы понять, как мне нужно подойти к исправлению.Я могу войти на FTP-сервер нормально, но у меня возникают проблемы при извлечении файла и сохранении его в моем каталоге.Я думаю, что проблема связана с тем, как я настроил retrbinary код, но я не уверен.

Что касается фона, я запускаю этот код в IDE Spyder для python на компьютере с Windows 10.Я пробовал другие методы, но ни один из них не приблизил меня так близко, как этот.

```python

from ftplib import FTP
import os

os.getcwd()

os.chdir('U:\ABA\xxx\xxx)

ftp = FTP()

HOST = 'xx.xxx.xx.xx'

PORT = xx

ftp.connect(HOST, PORT)

ftp.login(user='xxx', passwd='xxx')

ftp.dir()
 #Other server's directory shows '7 test2.txt' file

with open('7 test2.txt', 'wb') as file:
    ftp.retrbinary('RETR %s' % '7 test2.txt', file.write)

```

Ожидаемый:

Снять txt-файл с другого сервера и сохранить его в выбранном мной каталоге кактекстовый файл

Факт:

error_perm: 550 Системе не удается найти указанный файл.

Сообщение об ошибке

File "<ipython-input-29-de30637eb893>", line 24, in <module>
    ftp.retrbinary('RETR %s' % '7 test2.txt', file.write)

  File "C:\ProgramData\Anaconda3\lib\ftplib.py", line 442, in retrbinary
    with self.transfercmd(cmd, rest) as conn:

  File "C:\ProgramData\Anaconda3\lib\ftplib.py", line 399, in transfercmd
    return self.ntransfercmd(cmd, rest)[0]

  File "C:\ProgramData\Anaconda3\lib\ftplib.py", line 365, in ntransfercmd
    resp = self.sendcmd(cmd)

  File "C:\ProgramData\Anaconda3\lib\ftplib.py", line 273, in sendcmd
    return self.getresp()

  File "C:\ProgramData\Anaconda3\lib\ftplib.py", line 246, in getresp
    raise error_perm(resp)

error_perm: 550 The system cannot find the file specified.
...