WinZipSE.exe在文件准备好之前返回

时间:2019-06-04 11:50:11

标签: python winzip

我正在使用python脚本在Windows上构建安装程序。我收集了所有需要的文件,将它们压缩并放在名为\temp的文件夹中。然后,我调用WINZIPSE.EXE创建自解压EXE。

subprocess.call('"winzipse.exe" "filename.zip" -y -i .\\setup.ico -overwrite -setup -auto -c .\\stp.exe')

它按预期运行命令,但是下一个试图将生成的exe移到另一个文件夹(\EXEs)中的命令失败:

copyfile(".\temp\filename.exe", ".\EXEs\filename.exe")
  

PermissionError:[Errno 13]权限被拒绝:'。\ temp \ filename.exe'

发生这种情况的原因是,显然,WINZIPSE.EXE在释放输出文件之前完成了。这迫使我手动去从.\temp中获取文件。我尝试在copyfile命令之前添加等待,但是有时等待时间长于所需时间,有时还不够。

我可以想到可以解决此问题的两件事,但是即使有可能,我也无法弄清楚该怎么做:

  1. 将输出位置传递到WINZIPSE.EXE,这样我就无需手动复制文件。我在帮助文件中找不到与此相关的任何开关。

  2. 找到一种方法来知道文件何时发布,以便我可以从那里继续执行脚本。

有什么建议吗?

0 个答案:

没有答案