FTP文件默认下载路径(python)

时间:2011-07-24 08:40:57

标签: python ftp

当我使用retrbinary在python中从ftp下载文件时,默认情况下下载的文件在哪里。有没有办法更改此默认文件夹? 提前谢谢

1 个答案:

答案 0 :(得分:2)

ftplib库中的retrbinary函数采用一个回调函数,该函数对于检索到的每个数据块调用一次。您自己编写此回调函数,因此可以更改保存的文件夹文件。

一些示例代码:

#!/usr/bin/env python

import sys
from ftplib import FTP



ftphost, file_to_retrieve, output_path = sys.argv[1:4]

print "Retreiving %(file_to_retrieve)s from FTP host %(ftphost)s, saving to %(output_path)s" % locals()

ftp = FTP(ftphost)
ftp.login()

outfile = None
def data_callback(data):
    global outfile
    if outfile is None:
        outfile = open(output_path, 'w')

    outfile.write(data)

ftp.retrbinary("RETR %s" % file_to_retrieve, data_callback)

if outfile is not None:
    outfile.close()

要检索ftp://ftp.sunet.se/pub/Linux/kernel.org/linux/docs/man-pages/man-pages-3.32.tar.gz并将其另存为/tmp/man-pages.tar.gz,请按以下步骤运行此代码:

$ python testftp.py ftp.sunet.se /pub/Linux/kernel.org/linux/docs/man-pages/man-pages-3.32.tar.gz /tmp/man-pages.tar.gz