У меня есть очень простая программа на Python, которая работает:
from ftplib import FTP
ftp = FTP('ftp.unicamp.br')
ftp.login()
ftp.cwd('pub/libreoffice/flatpak/latest/')
Но если я удаляю косую черту из этого пути, я получаю следующее исключение:
ftp.cwd('pub/libreoffice/flatpak/latest') # no trailing slash
# Traceback (most recent call last):
# File "foo.py", line 6, in <module>
# ftp.cwd('pub/libreoffice/flatpak/latest')
# File "/home/ian/.asdf/installs/python/3.7.0/lib/python3.7/ftplib.py", line 631, in cwd
# return self.voidcmd(cmd)
# File "/home/ian/.asdf/installs/python/3.7.0/lib/python3.7/ftplib.py", line 278, in voidcmd
# return self.voidresp()
# File "/home/ian/.asdf/installs/python/3.7.0/lib/python3.7/ftplib.py", line 251, in voidresp
# resp = self.getresp()
# File "/home/ian/.asdf/installs/python/3.7.0/lib/python3.7/ftplib.py", line 246, in getresp
# raise error_perm(resp)
# ftplib.error_perm: 550 pub/libreoffice/flatpak/latest: No such file or directory
Проблема в том, чтоЯ использую urllib
примерно так:
import urllib.request
fp = urllib.request.urlopen('ftp://ftp.unicamp.br/pub/libreoffice/flatpak/latest/LibreOffice.flatpak')
И urllib
не включает последнюю косую черту, таким образом, предоставляя то же исключение, как показано выше.Любые подсказки о том, как я мог заставить urllib
включить косую черту в путь?