我所做的事情类似于这样:
import urllib
url = '--insert-url--'
f = urllib.urlopen(url)
file = f.read()
f.close
f2 = open('download.exe', 'w')
f2.write(file)
f2.close
我在下载时没有遇到任何错误,但当我尝试运行时,出现以下错误:
“此文件的版本与您正在运行的Windows版本不兼容。检查计算机的系统信息以查看您是否需要程序的x86(32位)或x64(64位)版本,然后联系软件发布者。”
我自己上传执行文件,并且之前也能正常运行。
我还尝试了一些其他下载方法,结果都是同样的错误,并且我也尝试将其上传到不同的网站以确保这不是问题所在。
我需要特别的操作方式吗?
编辑:
我进行了进一步的下载测试。我在另一台电脑上(一台32位系统)运行了程序(现在我正在使用Spencer发布的内容)。我没有在那台电脑上收到错误消息,但当我运行程序时,命令行出现了,因为我正在使用命令行样式的.exe作为我的测试下载,但是闪烁的白色条形输入栏只是在我结束程序之前到处跳动,因此显然某些东西已经损坏了。
此外,下载过程是否可以使用批处理文件完成?这几乎会更容易,因为程序将必须重新启动以开始使用新的更新,因为它将使用全新的.exe。(我将使用py2exe将程序制作成.exe。)
f2
文件的模式更改为“'wb'”以以二进制模式写入它。默认情况下是文本模式,会将遇到的所有换行符(字节)更改为回车+换行符。 - martineau