[英]Check a script/program version in Python
我正在用Python 2.7开发脚本。 我想确保脚本通过github始终是最新的。 我试图在github上创建一个文件,在其中放置最新版本号,然后在python脚本中下载该文件并将其与程序的版本号进行比较。 这是我当前的脚本,但实际上不起作用:
import sys
import os
import urllib
current_version = """1.4"""
print ("\a")
print ("Checking for latest verion..")
urllib.urlretrieve ("https://raw.githubusercontent.com/[myname]/[myproject]/master/version_latest", "version_latest")
version = open('version_latest', 'r').read()
if version == current_version:
vlatest = "1"
else:
vlatest = "2"
if vlatest == 2:
print ("Please get the latest version of this program here:")
print ("https://github.com/[myname]/[myproject]")
print ("You can't use the program without it!")
print ("\a")
os.system("start https://github.com/[myname]/[myproject]")
raw_input("Press enter to exit")
sys.exit()
else:
print ("You have the latest verion! Program will start automaticly!")
谢谢您的帮助!
出现什么错误。 但是,我可以看到的是,您将版本号分配为字符串,并在if条件中将其检查为整数。 因此,通过int()方法将其转换为int或通过str(2)将整数转换为字符串#2是您的版本号。
替代方式:
但是,您可以简单地做一件事,只需以同样不包含版本的方式命名python脚本即可,例如,如果版本号为1.4,则类似于parsing_1_4.py。 这样,您无需打开脚本,只需检查python文件的名称,解析版本号并将其与文件中存储的版本号进行比较。 如果它们相等,则很好,否则更新脚本并注意也更新脚本名称(新版本号)。
if vlatest == 2
更改为if vlatest == "2"
您使用的是不同类型,所以它们不相等。 使用相同的类型,你会没事的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.