Autopytoexe可执行文件仅在与Python脚本和其他文件在同一文件夹的情况下才能工作
创始人
2024-09-23 20:31:08
0

将所有文件打包至单个文件夹中,并将程序文件指向该文件夹的路径。可以使用以下示例代码实现:

import sys
import os
import shutil
import tempfile
import zipfile
import subprocess
from pathlib import Path
import PyInstaller.__main__

def package_files(directory_path, output_path):
    """
    压缩目录中的所有文件,并将它们保存为ZIP文件。
    """
    with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
        for file in os.listdir(directory_path):
            zipf.write(os.path.join(directory_path, file), file)

def create_exe(directory_path, entry_point, output_directory):
    """
    创建可执行文件。
    """
    spec_file = f'{entry_point}.spec'
    exe_file = f'{entry_point}.exe'
    PyInstaller.__main__.run([
        '--name=%s' % entry_point, '--onefile', '--windowed',
        '--specpath=%s' % directory_path, 
        '--icon=%s' % os.path.join(directory_path, 'icon.ico'),
        '--add-data=%s' % os.path.join(directory_path, '*.txt') + os.pathsep + '.',
        '--distpath=%s' % output_directory,
        os.path.join(directory_path, f'{entry_point}.py')
    ])

if __name__ == '__main__':
    # 要打包的文件夹路径
    directory_path = Path('my_app')
    
    # 一个临时目录,用于存储生成的文件和中间文件
    with tempfile.TemporaryDirectory() as tmpdir:
        # 将要打包的文件复制到临时目录
        shutil.copytree(str(directory_path), os.path.join(tmpdir, 'my_app'))
        
        # 将文件夹中的所有文件打包到ZIP文件中
        package_files(os.path.join(tmpdir, 'my_app'), os.path.join(tmpdir, 'my_app.zip'))
        
        # 创建可执行文件
        create_exe(tmpdir, 'my_app', 'output_directory')

注意要更改输入参数以适应您的文件结构。请确保输入的路径与您的目录结构相匹配。在示例代码中,“my_app”是包含程序文件和其他文件的文件夹。如果您的文件夹名称不同,请更改该参数。

相关内容

热门资讯

七分钟辅助!丽水茶苑苹果手机辅... 七分钟辅助!丽水茶苑苹果手机辅助,本来是真的有辅助教程(有挂方式)1、实时丽水茶苑苹果手机辅助透视辅...
第一分钟辅助!闲来辅助神器下载... 第一分钟辅助!闲来辅助神器下载2022,好像真的有辅助方法(有挂教程)1、不需要AI权限,帮助你快速...
九分钟辅助!丽水都莱辅助工具试... 九分钟辅助!丽水都莱辅助工具试用,确实存在有辅助神器(有挂方法)九分钟辅助!丽水都莱辅助工具试用,确...
第一分钟辅助!蛮王辅助器,好像... 第一分钟辅助!蛮王辅助器,好像是有辅助方法(有挂教学)1、首先打开蛮王辅助器辅助器下载最新版本,在蛮...
第六分钟辅助!潮汕汇挂,一贯真... 第六分钟辅助!潮汕汇挂,一贯真的是有辅助插件(有挂辅助)1、这是跨平台的潮汕汇挂轻量版有透视,在线的...
六分钟辅助!微信开心泉州辅助器... 六分钟辅助!微信开心泉州辅助器,一直有辅助器(有挂教学)1、下载好微信开心泉州辅助器透视辅助下载之后...
第3分钟辅助!佛手十三道破解版... 第3分钟辅助!佛手十三道破解版安卓,竟然真的有辅助攻略(有挂存在)1、让任何用户在无需佛手十三道破解...
2分钟辅助!sohoo竞技联盟... 2分钟辅助!sohoo竞技联盟辅助,切实真的有辅助脚本(有挂技术)1.sohoo竞技联盟辅助 选牌创...
第8分钟辅助!心悦手游辅助器,... 第8分钟辅助!心悦手游辅助器,原来真的是有辅助技巧(确实有挂);1、每一步都需要思考,不同水平的挑战...
第十分钟辅助!广东雀神祈福真的... 第十分钟辅助!广东雀神祈福真的有用吗,都是是有辅助技巧(有挂方略)1、下载好广东雀神祈福真的有用吗透...