基于SFTP下载指定文件

本文介绍了如何使用Python实现SFTP文件下载,包括界面设计、SFTP服务器的连接和下载功能的代码实现,同时提供了GUI展示和代码工程目录的详细说明。
摘要由CSDN通过智能技术生成

Python实现SFTP的文件下载

一、界面

1、数据文件下载界面
(1)GUI显示
在这里插入图片描述
(2)代码

from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(600, 600)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
    sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth())
        Form.setSizePolicy(sizePolicy)
        Form.setMouseTracking(True)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/re/icon.jpg"), QtGui.QIcon.Normal, QtGui.QIcon.On)
        Form.setWindowIcon(icon)
        Form.setAutoFillBackground(False)
        Form.setStyleSheet("background-image: url(:/back/2.jpeg);")
        self.label_4 = QtWidgets.QLabel(Form)
        self.label_4.setGeometry(QtCore.QRect(337, 450, 75, 24))
        self.label_4.setStyleSheet("font: 10pt \"黑体\";\n"
"color: rgb(85, 0, 0);")
        self.label_4.setObjectName("label_4")
        self.label_7 = QtWidgets.QLabel(Form)
        self.label_7.setGeometry(QtCore.QRect(50, 450, 75, 24))
        self.label_7.setStyleSheet("font: 10pt \"黑体\";\n"
"color: rgb(85, 0, 0);")
        self.label_7.setObjectName("label_7")
        self.label_3 = QtWidgets.QLabel(Form)
        self.label_3.setGeometry(QtCore.QRect(140, 90, 331, 61))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
        self.label_3.setSizePolicy(sizePolicy)
        self.label_3.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.label_3.setStyleSheet("background-image: url(:/text/1.jpeg);")
        self.label_3.setTextFormat(QtCore.Qt.AutoText)
        self.label_3.setObjectName("label_3")
        self.pushButton = QtWidgets.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(100, 200, 171, 41))
        self.pushButton.setMouseTracking(False)
        self.pushButton.setFocusPolicy(QtCore.Qt.WheelFocus)
        self.pushButton.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.pushButton.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.pushButton.setAutoFillBackground(False)
        self.pushButton.setStyleSheet("color: rgb(85, 0, 0);\n"
"font: 14pt \"黑体\";\n"
"background-image: url(:/text/1.jpeg);")
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/down/IST_18279_33769.png"), QtGui.QIcon.Normal, QtGui.QIcon.On)
        self.pushButton.setIcon(icon1)
        self.pushButton.setIconSize(QtCore.QSize(65, 65))
        self.pushButton.setCheckable(False)
        self.pushButton.setAutoRepeatDelay(300)
        self.pushButton.setObjectName("pushButton")
        self.toolButton_2 = QtWidgets.QToolButton(Form)
        self.toolButton_2.setGeometry(QtCore.QRect(70, 0, 71, 21))
        self.toolButton_2.setStyleSheet("background-image: url(:/text/1.jpeg);")
        self.toolButton_2.setObjectName("toolButton_2")
        self.toolButton = QtWidgets.QToolButton(Form)
        self.toolButton.setGeometry(QtCore.QRect(0, 0, 71, 21))
        self.toolButton.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
        self.toolButton.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.toolButton.setStyleSheet("background-image: url(:/text/1.jpeg);")
        self.toolButton.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly)
        self.toolButton.setObjectName("toolButton")
        self.pushButton_2 = QtWidgets.QPushButton(Form)
        self.pushButton_2.setGeometry(QtCore.QRect(370, 200, 171, 41))
        self.pushButton_2.setMouseTracking(False)
        self.pushButton_2.setFocusPolicy(QtCore.Qt.WheelFocus)
        self.pushButton_2.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.pushButton_2.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.pushButton_2.setAutoFillBackground(False)
        self.pushButton_2.setStyleSheet("color: rgb(85, 0, 0);\n"
"font: 14pt \"黑体\";\n"
"background-image: url(:/text/1.jpeg);")
        self.pushButton_2.setIcon(icon1)
        self.pushButton_2.setIconSize(QtCore.QSize(65, 65))
        self.pushButton_2.setCheckable(False)
        self.pushButton_2.setAutoRepeatDelay(300)
        self.pushButton_2.setObjectName("pushButton_2")
        self.pushButton_3 = QtWidgets.QPushButton(Form)
        self.pushButton_3.setGeometry(QtCore.QRect(220, 280, 171, 41))
        self.pushButton_3.setMouseTracking(False)
        self.pushButton_3.setFocusPolicy(QtCore.Qt.WheelFocus)
        self.pushButton_3.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.pushButton_3.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.pushButton_3.setAutoFillBackground(False)
        self.pushButton_3.setStyleSheet("color: rgb(85, 0, 0);\n"
"font: 14pt \"黑体\";\n"
"background-image: url(:/text/1.jpeg);")
        self.pushButton_3.setIcon(icon1)
        self.pushButton_3.setIconSize(QtCore.QSize(65, 65))
        self.pushButton_3.setCheckable(False)
        self.pushButton_3.setAutoRepeatDelay(300)
        self.pushButton_3.setObjectName("pushButton_3")
        self.dateEdit = QtWidgets.QDateEdit(Form)
        self.dateEdit.setGeometry(QtCore.QRect(134, 440, 110, 41))
        self.dateEdit.setCalendarPopup(True)
        self.dateEdit.setObjectName("dateEdit")
        self.dateEdit_2 = QtWidgets.QDateEdit(Form)
        self.dateEdit_2.setGeometry(QtCore.QRect(424, 440, 110, 41))
        self.dateEdit_2.setCalendarPopup(True)
        self.dateEdit_2.setObjectName("dateEdit_2")
        self.toolButton_3 = QtWidgets.QToolButton(Form)
        self.toolButton_3.setGeometry(QtCore.QRect(140, 0, 111, 21))
        self.toolButton_3.setStyleSheet("background-image: url(:/text/1.jpeg);")
        self.toolButton_3.setObjectName("toolButton_3")
        self.pushButton_4 = QtWidgets.QPushButton(Form)
        self.pushButton_4.setGeometry(QtCore.QRect(100, 360, 171, 41))
        self.pushButton_4.setMouseTracking(False)
        self.pushButton_4.setFocusPolicy(QtCore.Qt.WheelFocus)
        self.pushButton_4.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.pushButton_4.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.pushButton_4.setAutoFillBackground(False)
        self.pushButton_4.setStyleSheet("color: rgb(85, 0, 0);\n"
"font: 14pt \"黑体\";\n"
"background-image: url(:/text/1.jpeg);")
        self.pushButton_4.setIcon(icon1)
        self.pushButton_4.setIconSize(QtCore.QSize(65, 65))
        self.pushButton_4.setCheckable(False)
        self.pushButton_4.setAutoRepeatDelay(300)
        self.pushButton_4.setObjectName("pushButton_4")
        self.pushButton_5 = QtWidgets.QPushButton(Form)
        self.pushButton_5.setGeometry(QtCore.QRect(370, 360, 171, 41))
        self.pushButton_5.setMouseTracking(False)
        self.pushButton_5.setFocusPolicy(QtCore.Qt.WheelFocus)
        self.pushButton_5.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.pushButton_5.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.pushButton_5.setAutoFillBackground(False)
        self.pushButton_5.setStyleSheet("color: rgb(85, 0, 0);\n"
"font: 14pt \"黑体\";\n"
"background-image: url(:/text/1.jpeg);")
        self.pushButton_5.setIcon(icon1)
        self.pushButton_5.setIconSize(QtCore.QSize(65, 65))
        self.pushButton_5.setCheckable(False)
        self.pushButton_5.setAutoRepeatDelay(300)
        self.pushButton_5.setObjectName("pushButton_5")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "文件下载系统"))
        self.label_4.setText(_translate("Form", "结束时间"))
        self.label_7.setText(_translate("Form", "开始时间"))
        self.label_3.setText(_translate("Form", "<html><head/><body><p align=\"center\"><span style=\" font-size:14pt; font-weight:600; color:#550000;\">欢迎进入数据下载界面</span></p></body></html>"))
        self.pushButton.setText(_translate("Form", "月报一批"))
        self.toolButton_2.setText(_translate("Form", "注意事项"))
        self.toolButton.setText(_translate("Form", "功能介绍"))
        self.pushButton_2.setText(_translate("Form", "月报二批"))
        self.pushButton_3.setText(_translate("Form", "日报下载"))
        self.dateEdit.setDisplayFormat(_translate("Form", "yyyy-MM-dd"))
        self.dateEdit_2.setDisplayFormat(_translate("Form", "yyyy-MM-dd"))
        self.toolButton_3.setText(_translate("Form", "异动说明下载"))
        self.pushButton_4.setText(_translate("Form", "季报一批"))
        self.pushButton_5.setText(_translate("Form", "季报二批"))
import back_rc
import download_rc
import pwd_rc
import re_rc
import text_rc
import unzip_rc

2、异动说明下载界面
(1)GUI显示
在这里插入图片描述
(2)代码

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(600, 600)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值