我的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
模块下载基于Windows 32位或64位的文件格式URL。它按预期工作。
我想使用正则表达式执行以下操作:
如果windowsbit == x86
,则应下载以test_windows
开头并以STEST.exe
文件结尾的文件。
否则它应该下载以test_windows-x64
开头并以STEST.exe
文件结尾的文件。
我是python的新手,我不知道如何做到这一点。任何人都可以指导我吗?
答案 0 :(得分:0)
这看起来不太可能。正则表达式与您尝试执行的操作相匹配,如下所示:
.html
但是你不能把它扔进import re
urlre = re.compile("""
http://test.com/test_windows # base URL
(?P<bit>-x64)? # captures -x64 if present
_(?P<version_major>\d+) # captures major version
_(?P<version_minor>\d+) # captures minor version
_(?P<version_revision>\d+) # captures revision version
-STEST.exe # ending filename""", re.X)
。您不能在请求中使用通配符 - 网络服务器必须知道如何处理它们并且它不会。更好的方法可能是:
wget
答案 1 :(得分:-1)
可以在没有正则表达式的情况下尝试:
import wget
text ="http://test.com/test_windows"
if windowsbit == x86:
url = '{}_2_56_30-STEST.exe'.format(text)
else:
url = '{}-x64_2_56_30-STEST.exe'.format(text)
filename = wget.download(url)
版本:
import wget
text ="http://test.com/test_windows"
version = '2_56_30'
if windowsbit == x86:
url = '{}_{}-STEST.exe'.format(text,version)
else:
url = '{}-x64_{}-STEST.exe'.format(text,version)
filename = wget.download(url)