FTP连接与下载(Python)

本文提供了一个使用Python的ftplib模块从FTP服务器下载文件的具体示例。该脚本尝试连接到指定的FTP服务器,并在成功登录后进入目标目录,然后下载指定的文件到本地。如果在执行过程中遇到任何错误,如无法连接到服务器、无法匿名登录或无法更改目录等,脚本会打印相应的错误信息并退出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#encoding:utf-8
import ftplib
import os
import socket

HOST='ftp.pku.edu.cn'#服务器地址
DIRN='Linux/boot.kernel.org/'#下载目录
FILE='gpxe.iso'#下载的文件名

def main():
    try:
        f=ftplib.FTP(HOST)
    except(socket.error,socket.gaierror):
        print 'ERROR:cannot reach "%s"'%HOST
        return
    print '*** Connected to host "%s"'%HOST
    
    try:
        f.login()
    except ftplib.error_perm:
        print 'ERROR:cannot login anonymously'
        f.quit()
        return
    print '*** Logged in as "anonymous"'
    
    try:
        f.cwd(DIRN)
    except ftplib.error_perm:
        print 'ERROR:cannot CD to "%s"'%DIRN
        f.quit()
        return
    print '*** Changed to "%s" folder'%DIRN
    
    try:
        f.retrbinary('RETR %s'%FILE,
                     open(FILE,'wb').write)
    except ftplib.error_perm:
        print 'ERROR: cannot read file "%s"'%FILE
        os.unlink(FILE)
    else:
        print '*** Downloaded "%s" to CWD'%FILE
    f.quit()
    return

if __name__=='__main__':
    main()
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值