使用python运行安装程序(exe/msi)文件的最快方式是什么?

2024-09-28 22:10:20 发布

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

问题的表述:

我想创建一个控制台应用程序,从当前脚本目录中选择一些安装(exe/msi)文件并静默(使用静默键)安装它们。当然,我想尽快做到这一点

示例:

例如,我想安装3个不同的程序:电报、2GIS、7z。因此,我有3个安装程序:tsetup.exe、2GISShell.msi、7z-x64.exe。此外,我还有3个脚本,其中我使用3种不同的方式安装它们:

testos.py:

import os
import time


#os.system

#2gis
print('start time 2gis')
start_time = time.time()
os.system('start ' + '2GISShell.msi /qn')
print("--- %s seconds ---" % (time.time() - start_time))

#telegram
print('start time telegram')
start_time = time.time()
os.system('start ' + 'tsetup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-')
print("--- %s seconds ---" % (time.time() - start_time))

#7z
print('start time 7z')
start_time = time.time()
os.system('start ' + '7z-x64.exe /S')
print("--- %s seconds ---" % (time.time() - start_time))

输出:

start time 2gis
--- 0.06574773788452148 seconds ---
start time telegram
--- 0.020944833755493164 seconds ---
start time 7z
--- 0.02792501449584961 seconds ---

testsub.py:

import time
import subprocess

#subprocess

#telegram
print('start time telegram')
start_time = time.time()
subprocess.call('tsetup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-')
print("--- %s seconds ---" % (time.time() - start_time))

#7z
print('start time 7z')
start_time = time.time()
subprocess.call('7z-x64.exe /S')
print("--- %s seconds ---" % (time.time() - start_time))

输出:

start time telegram
--- 2.4023494720458984 seconds ---
start time 7z
--- 0.18584489822387695 seconds ---

testpywin.py:

import time
from pywinauto.application import Application

#pywinauto

#telegram
print('start time telegram')
start_time = time.time()
Application(backend='uia').start('tsetup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-')
print("--- %s seconds ---" % (time.time() - start_time))

#7z
print('start time 7z')
start_time = time.time()
Application(backend='uia').start('7z-x64.exe /S')
print("--- %s seconds ---" % (time.time() - start_time))

输出:

start time telegram
--- 0.14841079711914062 seconds ---
start time 7z
--- 0.1946101188659668 seconds ---

问题:

有没有更好(更快)的方法来运行安装文件

谢谢你的关注。 我将很高兴收到关于这个问题的任何补充资料


Tags: pyimporttimeosexesystemstartmsi