首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >停止cmd提示,直到下载完成

问停止cmd提示,直到下载完成
EN

Stack Overflow用户
提问于 2018-01-11 01:01:11
回答 1查看 61关注 0票数 1

我正在尝试从命令提示符下载并安装python。我有下载和安装命令。问题是我想让cmd等到下载结束,然后执行install命令。

我使用一个python脚本和它的子进程模块来做上面的事情,因此我的代码看起来像这样(这些不是确切的命令):

代码语言:javascript
复制
subprocess.call('start /max http://profile.org/choice/fileW.msi' , shell = True)
subprocess.call('msiexec.exe fileW.msi' , shell = True)

第一行下载python.msi文件。第二行安装python.msi。当我单独运行它们时,它们可以工作,但当我一起运行它们时,我得到"fileW.msi not found“。原因是在下载.msi之前,cmd会运行第二个命令,因此,它无法找到该文件,因为它尚未下载该文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-11 01:09:05

一般答案:因为您需要/max,所以您需要start,但是start在后台启动,除非您使用/wait开关

但在你的例子中,这是行不通的,因为字符串是一个URL,windows会选择你的默认浏览器来打开/下载它,所以在下载结束之前你不能阻止调用。

另一种解决方案是使用wget包:

代码语言:javascript
复制
import wget
downloaded_file = wget.download("http://profile.org/choice/fileW.msi")
subprocess.call(['msiexec.exe',downloaded_file])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48192517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档