如何在Python的请求中使用FTP

时间:2014-06-03 19:17:16

标签: python ftp python-requests

是否可以使用requests模块与FTP站点进行交互? requests对于获取HTTP页面非常方便,但是当我尝试使用FTP站点时,我似乎遇到了Schema错误。

requests中是否有某些内容允许我执行FTP请求,或者是否不支持?

1 个答案:

答案 0 :(得分:1)

对于像我一样回答此问题的任何人,都可以在SO中使用this answer of another question

它使用urllib.request方法。

一个简单请求的代码段如下(在Python 3中):

import shutil
import urllib.request as request
from contextlib import closing
from urllib.error import URLError

url = "ftp://ftp.myurl.com"
try:
    with closing(request.urlopen(url)) as r:
        with open('file', 'wb') as f:
            shutil.copyfileobj(r, f)
except URLError as e:
    if e.reason.find('No such file or directory') >= 0:
        raise Exception('FileNotFound')
    else:
        raise Exception(f'Something else happened. "{e.reason}"')