代码如下,这里有一个关键参数,即“f.set_pasv(False)”,由于Python ftplib里面默认是开启pasv的,所以如果你不手动去关闭pasv,就会导致你可以登录,可以创建目录,但是无法上传文件或图片;当你上传文件时会报超时,只到以失败而退出。
#!/bin/env python
#coding: utf-8

from ftplib import FTP

ftp_args = {
    'host' : '192.168.1.218',
    'user' : 'vuser',
    'paswd' : 'vuserl123'
}

def conect_to_ftp():
    f = FTP()
    f.set_pasv(False) #默认是True,手动关闭被动模式
    f.connect(ftp_args['host'])
    f.login(ftp_args['user'],ftp_args['paswd'])
    print('Welcom: ',f.getwelcome())
    return f

def upload_pic_to_ftp():
    f = conect_to_ftp()
    remote_pic ='/home/vuser/images/title_1.png'
    local_pic = 'title_1.png'
    f.cwd('images')

    with open(local_pic,'rb') as fp:
        try:
            f.storbinary("STOR %s" % remote_pic, fp)
            f.set_debuglevel(0)
        except Exception as e:
            print('Exception is: ',e)
    f.quit()

upload_pic_to_ftp()

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐