大多时候,Windows桌面级python代码打包成exe程序后,是没有那个“显眼”乌漆嘛黑的DOS窗体。但有时,“懒”得打包python代码,且直接执行,不想看到DOS窗口怎么办?
仔细思考,DOS窗口是Windows操作系统关联的,所以这是平台相关性比较紧密的问题。(Linux下的情况应该相似)这种情景下应当考虑使用系统命令shell来执行程序并隐藏命令行窗体。Windows的shell处理又称“bat”,扩展名为bat的批处理可以执行系统的各种基础操作命令。bat文件是在DOS下执行的,没有隐藏自身程序主体的功能。
所幸的是,Windows的shell可以直接调用系统库解析执行vbs脚本(Visual Basic Script),而vbs脚本可以实现目标。(以往的Windows平台可能与BASIC语言有非常紧密的联系)
整个过程描述就是:
- 生成shell命令执行python代码的bat批处理
- 生成执行上述bat程序且隐藏DOS窗体的vbs脚本
- 执行上述vbs脚本
代码实现:
python_code_exc.bat:
@e