一个简单的解决方法是在服务器上放置某种文件(比如说program.txt),并在其中放入一些最新版本的基本信息。然后你有一个类似的txt文件,用程序下载(让我们说version.txt),并在代码中放入一个函数来比较version.txt和program.txt。如果它们是相同的,那么你的程序是最新的。如果没有,网络你需要上网并下载最新版本。
Python函数:
import Tkinter
import urllib
def updateCheck(self):
update = False
updateWindow = Tkinter.Toplevel()
updateWindow.title(string="Update Checker")
updateWindow.resizable(False, False)
#Gets downloaded version
versionSource = open('version.txt', 'r')
versionContents = versionSource.read()
#gets newest version
updateSource = urllib.urlopen("http://www.suturesoft.com/Updates/craftbook.txt")
updateContents = updateSource.read()
#checks for updates
for i in range(0,20):
if updateContents[i] != versionContents[i]:
dataLabel = Tkinter.Label(updateWindow,text="\n\nThere are data updates availible.\n\n")
dataLabel.pack()
update = True
break
for i in range(22,42):
if updateContents[i] != versionContents[i]:
versionLabel = Tkinter.Label(updateWindow,text="\n\nThere are version updates availible.\n\n")
versionLabel.pack()
update = True
break
if update == False:
versionLabel = Tkinter.Label(updateWindow,text="\n\nYou are already running the most up to date version.\n\n")
versionLabel.pack()
proram.txt和version.txt:
data_version:10.11.12
exec_version:10.11.12
在这种情况下,程序会告诉你该程序是最新的
。
我想你应该指定哪种类型的os有问题。 – defuz
我正在使用python,我希望它是跨平台的。可执行文件是windows,但未编译的python脚本是针对Linux和OS X发布的。 –