python做exe程序的更新

同志们,这是一条实用性干货。

对于网络工作者来说,手工更新某些自己写的程序很麻烦,或者是在工作环境中,同事们可能会用到自己写的一些小的实用性工具,在后期的使用中可能会遇到bug或者是添加一些新的功能,这时候就需要重新编译了,编译好后,在手动替换之前的程序。这样就有点不方便了

-----------------------------------------------------------------------------

注意事项:

1:先准备一台ftp服务器,来存放数据或程序,我的ftp设置的是基本登录,是需要账号和密码的

2:如果在内网中,要确保,你要替换程序的电脑能够访问这个ftp服务器

3:用python写的更新程序,需要先检查一下是否有ftplib模块和os模块,如果没有的话,就得用pip先安装了

4:请确保需要被替换文件的电脑系统是否和编译程序的版本是否一致,不一致的话则无法运行,报错如下图,这样的加只能用相同版本的编译程序进行编译

5:如果要做到之后都是自动更新的话,可以把编译好了的exe程序加入到计划任务中,每日系统启动后就检查本地程序和ftp服务器上的相同程序是否一致

废话不多说,直接上代码

#导入模块
from ftplib import FTP
import os


# 登录ftp服务器
ftp = FTP()
ftp_server = 'ftp服务器的ip地址'      # ftp站点对应的ip地址
username = '登录ftp的用户名'          # 用户名
password = '登录ftp的密码'            # 密码
ftp.connect(ftp_server, 21)     # 连接ftp的地址和使用的端口
ftp.login(username, password)   # 连接的用户名,密码
print(ftp.getwelcome())         # 打印出欢迎信息
frp =ftp.size('test1.exe')      #查看test1.exe的大小

def ftp_connect():
    today_file = 'test1.exe'        #自定义要查找的文件名
    remote_file = today_file        # 远端文件名
    local_file = 'test1.exe'        # 本地文件名
    fp = open(local_file, 'wb')     #打开一个文件 如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
    ftp.retrbinary('retr ' + remote_file, fp.write) #从ftp服务器上下载文件
    print('下载成功')

if os.path.exists('test1.exe') == False:    #查找本地文件当前是否有这个文件
    ftp_connect()

if os.path.exists('test1.exe') == True:     #查找本地文件当前是否有这个文件
    file_name = "D:\\Hoekey\\test1.exe"     #找到本地文件
    fsize = os.path.getsize(file_name)      #查看本地文件的大小
    if frp>fsize:                           #本地文件与ftp文件作大小比较,如果ftp的文件大于本地则更新
        ftp_connect()
    print('不需要更新')

程序编译好后,可以打包成exe

如果是第一次打包成exe程序的话 则需要先在cmd中运行pip install pyinstaller  安装打包模块

之后用pyinstaller -F xxx.py(xxx.py,打包的文件)即可

如有问题可以邮箱联系mengbil@163.com

  • 2
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值