如何允许python脚本复制使用pyinstaller创建的可执行文件?

2024-06-06 04:11:18 发布

您现在位置:Python中文网/ 问答频道 /正文

当我使用pyinstaller创建一个.exe文件并运行它时,我希望在另一个目录中以相同的名称复制它

我已经编写了一个python脚本,它可以完美地复制自己(.py而不是.exe),但是对于.exe,我需要你们天才的帮助


Tags: 文件py目录脚本名称exe天才pyinstaller
2条回答

当我们执行python脚本时,我们可以在argv[0]中获得脚本路径和脚本名称。如果我们使用PyInstaller将脚本转换为一个onefile可执行文件,我们还可以从argv[0]获取可执行文件路径。我在Windows10中测试了以下代码

import sys
import shutil

target_path = "YOUR TARGET PATH WITH FILE NAME"
shutil.copyfile(sys.argv[0], target_path)

您还可以使用以下方法复制可执行文件:(未测试)

with open(sys.argv[0], "rb") as file1:
    main_file = file1.read()
    with open(target_path, "wb") as file2:
        file2.write(main_file)

我认为你应该复制并粘贴这个文件。您可以在python中执行此操作:

https://datatofish.com/copy-file-python/

它使用shuttle库复制要复制的文件目录和目标中的文件:

import shutil
original = r'{}'.format(input('original path where the file is currently stored\\file_name.file_extension:\n'))
print()
target = r'{}'.format(input('target path where the file will be copied\\file name.file extension:\n'))

shutil.copyfile(original, target)

我将空格与空print语句和“\n”一起使用,以使程序在运行时更具可读性,但这不是必需的

通过这种方式,我们接收原始文件路径的用户输入,然后是目标文件。这使得您可以将任何文件复制并粘贴到python中任何名称的任何目录中

相关问题 更多 >