linux - 使用 Python 确定可用于更新的 firefox 版本

标签 linux firefox python-3.x

我正在寻找片段,它将检查哪个版本可用于下载更新。 我使用 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/

相关文章:

linux - ubuntu 14.04有线连接连接和断开

python - 无法通过 geckodriver 附加到现有的 Selenium session

Firefox 上的 JavaScript 给出 'Invalid Date'

python - 将 "\n"添加到文本中的特定行

python - 如何将函数列表组合成可调用对象

linux - 如何替换文件名中的字符串

linux - sh 脚本不与 Crontab 一起运行,而是手动运行

python - 如何运行 shell 脚本而无需按 Enter/确认键。介于两者之间

javascript - 如何确定applicationCache是​​否已在firefox中获得批准

python-3.x - 如何使用 influxdb-python 向 influxdb 发送正确的时间戳