Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中从FTP检索Zip文件夹_Python_Ftp_Zip - Fatal编程技术网

如何在Python中从FTP检索Zip文件夹

如何在Python中从FTP检索Zip文件夹,python,ftp,zip,Python,Ftp,Zip,我正在尝试从ftp站点检索一个zip文件夹,并使用python将其保存到本地计算机(理想情况下,我希望指定它们在我的C:)上的保存位置) 下面的代码连接到FTP站点,然后*在PyScripter窗口中发生了一些事情,看起来像是1000行左右的随机字符。。。但实际上没有任何东西下载到我的硬盘上 有什么建议吗 import ftplib import sys def gettext(ftp, filename, outfile=None): # fetch a text file

我正在尝试从ftp站点检索一个zip文件夹,并使用python将其保存到本地计算机(理想情况下,我希望指定它们在我的C:)上的保存位置)

下面的代码连接到FTP站点,然后*在PyScripter窗口中发生了一些事情,看起来像是1000行左右的随机字符。。。但实际上没有任何东西下载到我的硬盘上

有什么建议吗

import ftplib
import sys

def gettext(ftp, filename, outfile=None):
    # fetch a text file
    if outfile is None:
        outfile = sys.stdout
    # use a lambda to add newlines to the lines read from the server
    ftp.retrlines("RETR " + filename, lambda s, w=outfile.write: w(s+"\n"))

def getbinary(ftp, filename, outfile=None):
    # fetch a binary file
    if outfile is None:
        outfile = sys.stdout
    ftp.retrbinary("RETR " + filename, outfile.write)

ftp = ftplib.FTP("FTP IP Address")
ftp.login("username", "password")
ftp.cwd("/MCPA")

#gettext(ftp, "subbdy.zip")
getbinary(ftp, "subbdy.zip")

嗯,看来你只是忘了打开要写入的文件

比如:

getbinary(ftp, "subbdy.zip", open(r'C:\Path\to\subbdy.zip', 'wb'))