【Python】ftp和sftp工具类,使用python实现文件的上传与下载

1. ftp工具类

编写ftp工具类,我这里取名为 ftp_util.py

import os
from ftplib import FTP


class FtpUtil:
    def __init__(self, ip, username, password, port=21):
        self.ip = ip
        self.username = username
        self.password = password
        self.port = port
        self.ftp = None

    def connect(self):
        ''''建立ftp远程连接'''
        try:
            self.ftp = FTP()
            self.ftp.connect(host=self.ip, port=self.port)
            self.ftp.login(user=self.username, passwd=self.password)
        except Exception as e:
            print(e)

    def disconnect(self):
        ''''断开远程连接'''
        if self.ftp:
            self.ftp.quit()

    def upload_file(self, localPath, remotePath, mode='binary'):
        '''上传文件'''
        try:
            with open(localPath, 'rb') as f:
                if mode == 'binary': # 上传二进制文件
                    self.ftp.storbinary(f'STOR {
     remotePath}', f)
                elif mode == 'text': # 上传文本文件
                    self.ftp.storlines(f'STOR {
     remotePath}', f)
            print(f'文件已上传,本地文件路径:{
     localPath},远端文件路径:{
     remotePath}')
        except Exception as e:
            print(f'文件上传失败:{
     e}')

    def download_file(self, localPath, remotePath, mode='binary'):
        '''下载文件'''
        try:
            with open(localPath, 'wb') as f:
                if mode == 'binary': # 下载二进制文件
                    self.ftp.retrbinary(f'RETR {
     remotePath}&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值