以ftplib为第三方组件,可以实现ftp上传,献上封装好的代码。

from ftplib import FTP
from config import ftp_upload_account,all_report_vulns,outer_vulns_host_raw
def up2ftp( file_name):
    # 上传csv文件到ftp
    with FTP(ftp_upload_account.get('host')) as ftp:
        ftp.login(ftp_upload_account.get('user'), ftp_upload_account.get('pwd'))
        with open(file_name, 'rb') as f:
            file_name =  file_name.split('\\')[-1]
            ftp_name = 'STOR ' + (ftp_upload_account.get('dst_dir') + file_name).encode('GB2312').decode('latin-1')
            ftp.storbinary(ftp_name, f, 1024)
            print("[+]upload %s to %s successful!"%(file_name,ftp_upload_account.get('dst_dir')))