我正在寻找片段,它将检查哪个版本可用于下载更新。 我使用 python 3.x。因此,如果有人提示我如何检查服务器上可用的版本,那就太好了。 OUtput 应该生成一个变量,其中存储了 firefox 的版本号。例如 22.0
我选择使用 linux 作为操作系统。
要清楚: 我不想知道我的系统上已经安装了哪个版本。我想知道哪个版本可以更新。
到目前为止,我得到了以下代码:
def firefox_version_remote():
firefox_version_fresh = os.popen("curl -s -l ftp.mozilla.org/pub/mozilla.org/firefox/releases/latest/linux-i686/de/").read()
# short name for firefox version num fresh
fvnf = " "
for i in firefox_version_fresh:
if i.isalpha() != True:
fvnf = fvnf + i
return fvnf.strip()
这会返回 -22.0..2,它应该返回 22.0
最佳答案
您是否考虑过使用正则表达式来匹配您尝试提取的数字。那会容易很多。像这样:
matches = re.findall(r'\d+(?:\.\d+)+', firefox_version_fresh)
if matches:
fvnf = matches[0]
这是假设版本的形式为 x.y,可能后面还有更多子版本(例如 x.y.z)。
\d+
是一个或多个数字(?: )+
是括号中的一项或多项。?:
告诉编译器它是一个非捕获组 - 即您不想将括号内的数据提取为一个单独的组。\.\d+
匹配一个点后跟一个或多个数字
所以整个表达式可以描述为一个或多个数字后跟一个或多个点和一个或多个数字。
关于linux - 使用 Python 确定可用于更新的 firefox 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17412795/