【发布时间】:2015-12-24 08:46:14
【问题描述】:
我的 Python 脚本:
import wget
if windowsbit == x86:
url = 'http://test.com/test_windows_2_56_30-STEST.exe'
filename = wget.download(url)
else:
url = 'http://test.com/test_windows-x64_2_56_30-STEST.exe'
filename = wget.download(url)
在上面的 python 脚本中,我使用wget 模块来下载文件形式的 URL,基于 windows 32 位或 64 位。它按预期工作。
我想用正则表达式来做以下事情:
如果是windowsbit == x86,则应下载以test_windows 开头并以STEST.exe 结尾的文件。
否则它应该下载以test_windows-x64 开头并以STEST.exe 结尾的文件。
我是 python 新手,我不知道如何做到这一点。有人可以指导我吗?
【问题讨论】:
-
当你说它工作时,你的意思是你的条件工作,但文件没有下载?
-
@idjaw 我的意思是,能够下载文件,条件正常。但是我想放正则表达式,这样如果将来版本号发生变化,我的脚本就可以处理这个。
-
这看起来不像是正则表达式问题。您似乎没有办法查询网络服务器以找到“最新”版本的链接(如您的评论中所示),并且您不能像在 shell 脚本中那样使用正则表达式作为通配符(例如
mv *.jpg images/)。 -
@亚当·史密斯。有没有办法告诉在 python 中下载特定文件的最新版本?
-
你应该考虑类似:
filename = "STEST.exe"; cur_version = "2_56_30"; base_url = "http://test.com/test_windows"; if windowsbit == x64: base_url += "-x64"; final_url = "{base}_{version}-{filename}".format(base=base_url, version=cur_version, filename=filename)
标签: python python-2.7