我想从这里获取最新的Python源代码https://www.python.org/ftp/python/ https://www.python.org/ftp/python/。
发布此内容时,最新版本是 3.9.1。我不想在代码中硬编码 3.9.1 以获取最新版本并在新版本出现时继续更新版本。我使用的是 ubuntu 16.04 操作系统
是否有一种编程方式来获取最新的Python版本(使用curl)并使用该版本来获取最新的源代码?
我遇到了类似的问题,找不到比抓取下载页面更好的东西了。你提到了curl,所以我假设你想要一个shell脚本。我最终得到了这个:
url='https://www.python.org/ftp/python/'
curl --silent "$url" |
sed -n 's!.*href="\([0-9]\+\.[0-9]\+\.[0-9]\+\)/".*!\1!p' |
sort -rV |
while read -r version; do
filename="Python-$version.tar.xz"
# Versions which only have alpha, beta, or rc releases will fail here.
# Stop when we find one with a final release.
if curl --fail --silent -O "$url/$version/$filename"; then
echo "$filename"
break
fi
done
这依赖于sort -V
,我相信这是 GNU coreutils 特有的。这在 Ubuntu 上应该不是问题。
如果您在较大的脚本中使用它并且想要使用version
or filename
循环后的变量,参见如何将输入通过管道传输到 Bash while 循环并在循环结束后保留变量 https://stackoverflow.com/questions/19570413/how-to-pipe-input-to-a-bash-while-loop-and-preserve-variables-after-loop-ends.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)