暂停cmd提示符直到下载完成

2024-03-28 22:27:06 发布

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

我正在尝试从命令提示符下载并安装python。我有下载和安装命令。问题是我希望cmd等到下载结束,然后再执行install命令。你知道吗

我使用一个python脚本及其子进程模块来完成上面的工作,因此我的代码看起来像这样(这些不是确切的命令):

subprocess.call('start /max http://profile.org/choice/fileW.msi' , shell = True)
subprocess.call('msiexec.exe fileW.msi' , shell = True)

第一行下载python.msi文件。第二行安装python.msi. 当我单独运行它们时,它们工作,但当我一起运行它们时,我得到“文件.msi未找到”。原因是在.msi被下载之前,cmd运行第二个命令,结果它找不到该文件,因为它还没有被下载。你知道吗


Tags: 模块install文件代码命令脚本cmdtrue
1条回答
网友
1楼 · 发布于 2024-03-28 22:27:06

一般回答:既然需要/max,就需要start,但是start在后台启动,除非使用/wait开关

但在您的情况下,这是行不通的,因为字符串是一个URL,windows选择您的默认浏览器来打开/下载它,所以在下载结束之前您无法阻止调用。你知道吗

另一种解决方案是使用^{}包:

import wget
downloaded_file = wget.download("http://profile.org/choice/fileW.msi")
subprocess.call(['msiexec.exe',downloaded_file])

相关问题 更多 >