【python】动态运行py文件并生成exe可执行程序

2023-05-16

# main.py
if __name__ == '__main__':
    if len(sys.argv) > 1:
        file_path = sys.argv[1]
        check_folder = os.path.dirname(file_path)
        data = check_one_file(file_path)
    else:
        check_folder = os.path.dirname(sys.executable)
        print(check_folder)
        before_check(check_folder)
        data = checking(check_folder)
# middleware.py
import os
import importlib
import sys

class MiddleWare:
    def __init__(self, content):
        self.content = content
        self.result = []
        self.run_all_py()

    def run_all_py(self):
        libraries_path = self.resource_path('check_items')
        print(libraries_path)
        files = os.listdir(libraries_path)
        for file in files:
            if file.endswith('.py') and file != "device.py":
                try:
                    self.run(file)
                except Exception as e:
                    print('file:{} Error: {}'.format(file, e))

    def run(self, script_path):
        script_name = "check_items." + os.path.basename(script_path).replace('.py', '')
        mod = importlib.import_module(script_name)
        result = mod.check_function(self.device)
        if result:
            problem, advise, detail = result
            self.result.append([problem, advise, detail])


    # visit resource lib
    def resource_path(self, relative_path):
        # check if Bundle Resource
        if getattr(sys, 'frozen', False):
            base_path = sys._MEIPASS
        else:
            base_path = os.path.abspath(".")
        return os.path.join(base_path, relative_path)

编译时需要在datas字段增加资源文件夹信息: (资源文件夹的路径, 内部关联用的资源名称)

#  xxx.spec

a = Analysis(
    datas=[('check_items', 'check_items')],
)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【python】动态运行py文件并生成exe可执行程序 的相关文章

  • 为什么说过早优化是万恶之源?

    Donald Knuth xff08 高德纳 xff09 是一位计算机科学界的著名学者和计算机程序设计的先驱之一 他被誉为计算机科学的 圣经 计算机程序设计艺术 的作者 xff0c 提出了著名的 大O符号 来描述算法的时间复杂度和空间复杂度
  • Linux parallel 命令使用手册

    文章目录 引言安装和配置GNU Parallel安装配置 GNU Parallel的基本用法GNU Parallel的高级用法1 在多个计算机上并行执行作业2 从文件中读取命令行参数3 生成详细的日志和报告 GNU Parallel的优缺点
  • 使用ffmpeg缩小视频体积的几种方式

    随着视频制作的普及 xff0c 视频文件的体积也越来越大 xff0c 给存储和传输带来了很大的困扰 为了解决这个问题 xff0c 我们可以使用FFmpeg这个强大的工具来缩小视频的体积 本文将介绍三种常用的方法 xff1a 调整视频的分辨率
  • 从CPU的视角看 多线程代码为什么那么难写!

    当我们提到多线程 并发的时候 xff0c 我们就会回想起各种诡异的bug xff0c 比如各种线程安全问题甚至是应用崩溃 xff0c 而且这些诡异的bug还很难复现 我们不禁发出了灵魂拷问 为什么代码测试环境运行好好的 xff0c 一上线就
  • ThreadPoolExecutor——高效处理并发任务的必备良器

    ThreadPoolExecutor 如何使用线程池状态线程池执行任务的过程阻塞队列拒绝策略线程池的监控和调优最佳实践总结 ThreadPoolExecutor是Java concurrent中用于管理线程池的类 xff0c 它是Execu
  • 使用ffmpeg拼接两张图片

    最近在工作中遇到了一个需求 xff0c 就是需要将两张图片拼接在一起 xff0c 作为一个封面图 如果只是临时拼接一张 xff0c 我们可以只用photoshop之类的图片编辑工具 xff0c 将两张图片拼接在一起 而我们的需要是需要实现自
  • 【python】解决[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1076)

    搜了两种方法都没解决这个问题 先介绍下两种方法 1 在代码首部增加如下代码 span class token keyword import span requests span class token punctuation span pa
  • 100G/40G/25G/10G网络测试解决方案

    一 100G概述 随着CDN等视频直播业务和P2P业务的快速发展 xff0c 带宽的要求越来越高 当前5G业务势头正盛 xff0c 其基于400G的主干网络通信业务也在积极部署之中 但当前在很多的业务场景中 xff0c 100G系统的部署仍
  • 交换机测试解决方案

    一 交换机测试概述 自 Kalpana 公司在 1990 年推出第一台以太网交换机以来 xff0c 交换机在30多年的时间内快速的发展 xff0c 成为当今应用最为广泛的网络设备 xff0c 成为整个互联网的基石 以太网交换机以其 高性能
  • IP网络性能测试工具——Renix Perf

    一 Renix Perf 基于软件的网络及应用服务性能测试工具 双臂测试 单臂测试 通过测试端点产生网络流量对网络性能进行测量 TCP UDP PING 语音 视频 HTTP FTP MAIL 组播 测试端点软件可以免费安装部署 二 部署方
  • 网络测试技术——802.1X_MD5认证(下篇)

    上篇我们讲到802 1X MD5的简介 认证过程 测试组网以及测试环境准备 xff0c 本期我们将为大家带来测试的详细步骤 xff1a 六 测试仪配置 1 占用端口 端口功能 xff08 1 xff09 端口1用来模拟DOT1X和发送流量
  • 网络测试技术——802.1X TLS认证(上篇)

    一 TLS认证简介 1 TLS认证 xff08 1 xff09 认证过程 最安全认证技术 实施最复杂 xff08 2 xff09 TLS双向证书认证 服务器对客户端进行认证 客户端对服务器进行认证 2 TLS认证过程 3 交换机认证模式 x
  • SRv6测试技术简介

    什么是SRv6 xff1f SRv6技术就是采用现有的IPv6转发技术 xff0c 通过扩展IPv6报文的头域 xff0c 实现类似标签转发的处理 SRv6将一些IPv6地址定义成实例化的SID xff08 Segment ID xff09
  • RENIX 软件RAW流发送——网络测试仪实操

    本文主要介绍了RENIX软件如何进行RAW流发送操作 文章通过预约端口 添加RAW流 修改负载 发送流量 查看流统计 数据包捕获六个步骤详细介绍了操作过程 步骤一 xff1a 预约端口 1 先安装RENIX软件 xff0c 正确安装情况下桌
  • RENIX软件OSPF和BFD、ISIS和BFD联动测试——网络测试仪实操

    本文介绍了RENIX软件BFD测试相关操作 xff0c 全文分为五大部分 第一部分为BFD概述 xff1b 第二部分为搭建OSPF和BFD联动测试环境 xff1b 第三部分为OSPF和BFD联动测试配置 xff1b 第四部分为搭建ISIS和
  • 信而泰 X-Snapper测试系统,助力家庭路由器IPv6支持度测试

    随着互联网的蓬勃发展 xff0c 宝贵而有限的IPv4地址资源一直在被分配使用 2019年11月25日 xff0c 负责英国 欧洲 中东和部分中亚地区互联网资源分配的欧洲网络协调中心 xff08 RIPE NCC xff09 宣布 xff0
  • 如何使用测试仪进行400G交换机性能测试

    一 400G以太网概述 400G以太网或400 Gigabit Ethernet 400GbE 由 IEEE P802 3bs Task Force 于 2017 年开发 xff0c 它使用与100 Gigabit Ethernet 大致相
  • 【python3】简易双因子Radius认证服务器,带UI界面

    需要将dictionary rfc2865放在运行的同级目录下 coding utf 8 from tkinter import from tkinter ttk import from tkinter import scrolledtex
  • 信而泰测试方案,助力客户打造网络安全防护“金钟罩”

    一 网络安全行业面临的挑战 据 Cybercrime Magazine 在最近一份报告中称 xff0c 仅2021年 xff0c 黑客攻击和各种网络犯罪就给全球经济造成了超过6万亿美元的损失 xff0c 预计到2025年 xff0c 此类犯
  • BGP BFD测试案例

    一 BFD原理 1 1 BFD技术简介 一种全网统一 检测迅速 监控网络中链路或者IP路由的双向转发连通状况 xff0c 并未上层应用提供服务的技术 1 2 BFD会话建立方式和监测机制 BFD的标识符 xff1a xff08 1 xff0

随机推荐

  • 数据中心典型测试场景浅析

    数据中心概述 数据中心泛指拥有众多服务器的大型机房 xff0c 通过利用通信运营商已有的互联网通信线路 带宽资源 xff0c 建立标准化的数据中心机房环境 xff0c 具有运行速度快 存储量大 安全性高等特点 数据中心东西向流量的占比更大
  • Vxlan协议原理及基本配置——网络测试仪实操手册

    一 Vxlan协议原理 1 Vxlan协议相关术语 一 缩略语 OSI中的概念 NVE Network Virtualization Edge 网络虚拟边缘节点 VTEP VXLAN Tunnel Endpoints xff0c VXLAN
  • 如何模拟VTEP下大量VM主机ARP消息——网络测试仪实操

    模拟VTEP下大量VM主机ARP消息 xff0c 按照下面的步骤 xff1a 1 打开 Renix 软件 xff0c 连接机框并预约测试端口 xff1b 2 创建一条RAW流量 xff08 Binding流量也可以 xff0c 这里用RAW
  • 信而泰自动化OSPFv2测试小技巧

    OSPFv2协议简介 OSPFv2 xff08 开放式最短路径优先版本2 xff09 是互联网协议 xff08 IP xff09 网络的路由协议 它使用链路状态路由 xff08 LSR xff09 算法 xff0c 并且属于在单个自治系统
  • OpenFlow协议原理及基本配置-网络测试仪实操

    一 OpenFlow协议原理 1 OpenFlow技术背景 转发和控制分离是SDN网络的本质特点之一 在SDN网络架构中 xff0c 控制平面与转发平面分离 xff0c 网络的管理和状态在逻辑上集中到一起 xff0c 底层的网络基础从应用中
  • 如何使用向导创建Openflow 流表-网络测试仪实操

    使用向导创建Openflow中的FlowTable xff0c 按照下面的步骤 xff1a 1 打开Renix软件 xff0c 连接机框并预约测试端口 xff1b 2 配置一个IPv4接口 3 配置一个OpenFlowController绑
  • 信而泰OLT使用介绍-网络测试仪实操

    一 OLT产品介绍 1 概述 PON作为FTTX网络发展的核心技术 xff0c 局端设备OLT尤其重要 本文档中主要介绍OLT的功能特性 业务配置 2 基本功能特性 2 1大容量和高集成度 ZXA10 C300集光接入 数据交换 路由处理于
  • 信而泰耦合测试-网络测试仪实操

    一 耦合测试原理 1 产生背景 常用测试无线设备过程中 xff0c 将无线设备置于屏蔽箱中 xff0c 通过无线网卡连接并运行iperf等类似软件的方式检测所述无线设备的吞吐量 相关技术中将所述无线设备置于所述屏蔽箱中的检测方法 xff0c
  • 【python】程序绑定PC和时间戳做定期授权码

    取磁盘编码或者网卡编码 43 时间戳16位格式 关于时间戳 xff0c 当前简单的实现是年月日转成对应的16位 xff0c 比如 23 03 28 gt 173E xff08 日先直接整除2 xff0c 每月不会超过31天 xff0c 整除
  • 信而泰ALPS 用户管理——网络测试仪实操

    本文介绍了如何在ALPS平台上Step By Step进行用户管理 用户管理介绍 设备在出厂时 xff0c 提供了一个默认管理员账号 xff0c 该账号为admin admin 管理员账号除了可用于测试之外 xff0c 还具有用户管理权限
  • 信而泰RENIX 802.1ag功能介绍-网络测试仪实操

    一 EOAM概述 1 以太网 1 1以太网优点 简单易用 价格低廉 高拓展性 大势所趋 xff0c 一统天下 1 2以太网缺点 可管理性差 定位故障手段少 定位故障速度慢 维护成本高 2 以太网OAM EOAM 为运营商服务 提高以太网可靠
  • 信而泰BGP Flow Spec防攻击测试解决方案

    随着互联网行业的迅猛发展 xff0c 越来越多的业务都从线下走到了线上 互联网在给大家生活带来便利的同时也面临着防护自身安全的各种挑战 DoS DDoS攻击是对网络安全的重大威胁 xff0c 攻击者通过多个控制端控制成千上万的攻击设备对同一
  • 信而泰X1多速率板卡写入SN号和ID——网络测试仪实操

    一 X1多速率板卡SN号和ID说明 速率的License文件需要根据板卡SN号和ID来制作 3 1 6正式版本 xff0c DarYu L2 7高性能 网络测试仪 支持用户通过Renix查看板卡SN号号 但是有的板卡可能存在没有SN号和ID
  • renix如何查看时延和抖动和丢包——网络测试仪实操

    目录 查看时延和抖动 一 预约测试资源 二 新建流 三 查看时延和抖动 查看丢包 一 预约端口 二 创建Raw流 三 如何查看流量的实时丢包个数和丢包比例 查看时延和抖动 一 预约测试资源 打开Renix软件 xff0c 连接机箱 预约端口
  • IP 网络主动监测系统 Renix Active

    一 IT网络运维面临的挑战 1 网络性能可视化 与公有云和SaaS平台连接的可靠性 广域网线路性能 互联网专线性能 2 诊断工具 现场无IT工程师覆盖 诊断的人力费用 网络与应用系统的纠结 3 用户体验 Web应用的访问质量 语音语音视频的
  • FEC原理与操作及BigTao机框装机说明

    一 FEC原理与操作 1 FEC 原理简介 前向纠错 xff08 英语 xff1a forward error correction xff0c 缩写FEC xff09 或信道编码 xff08 英语 xff1a channel coding
  • 信而泰RENIX时延抖动原理和计算公式、流量“重复次数”的使用、通道的作用

    一 信而泰Renix时延抖动原理和计算公式 信而泰RENIX时延抖动原理和计算公式 流量 重复次数 的使用 通道的作用 1 时延抖动原理 时延抖动是网络监视和测量的一个重要指标 在VoIP或视频流中 xff0c 数据包以连续流的形式发送 x
  • 从单体式架构迁移到微服务架构

    迁移到微服务综述 迁移单体式应用到微服务架构意味着一系列现代化过程 xff0c 有点像这几代开发者一直在做的事情 xff0c 实时上 xff0c 当迁移时 xff0c 我们可以重用一些想法 一个策略是 xff1a 不要大规模 xff08 b
  • boost库编译参数小结

    编译boost库 32位编译 xff1a 从开始菜单启动Visual Studio 2013的vs2013 命令行 xff0c 进入boost所在目录 xff0c 运行bootstrap bat 编译命令 xff08 例 xff09 xff
  • 【python】动态运行py文件并生成exe可执行程序

    main py if name 61 61 39 main 39 if len sys argv gt 1 file path 61 sys argv 1 check folder 61 os path dirname file path