我需要为笔记本电脑申请Windows 8升级,我需要笔记本电脑底部的Windows 7许可证密钥。
因为微软凭借其无限的智慧决定创建易损的许可证标签,并且我无法清楚地阅读我的许可证密钥,这意味着我无法使用自动化流程注册我的笔记本电脑以获得Windows升级优惠。
通过将笔记本电脑与灯光成一定角度,我已经能够验证大部分代码,但有些字母含糊不清(再次感谢Microsoft在标签中使用容易误读的字符)。
我有以下(混淆)许可证密钥,
MPP6R-09RXG-2H[8B]MT-[B8]K[HN]M9-V[6G]C8R
方括号中的字符不明确,因此它是8
或B
,B
或8
,H
或{{1} },N
或6
。
制作16种组合。
使用itertools生成此许可证密钥的可能排列是否合适?还是有更好的方法?
感谢贡献者,我得到了正确的密钥。检查密钥是否有效的一种非常方便的方法是使用Windows 7 product key checker。
答案 0 :(得分:164)
免责声明:是的,我知道这不是Python代码。它突然出现在我脑海中,我只是已经将其写下来。
最简单的方法是使用shell扩展:
$ echo MPP6R-09RXG-2H{8,B}MT-{B,8}K{H,N}M9-V{6,G}C8R
MPP6R-09RXG-2H8MT-BKHM9-V6C8R
MPP6R-09RXG-2H8MT-BKHM9-VGC8R
MPP6R-09RXG-2H8MT-BKNM9-V6C8R
MPP6R-09RXG-2H8MT-BKNM9-VGC8R
MPP6R-09RXG-2H8MT-8KHM9-V6C8R
MPP6R-09RXG-2H8MT-8KHM9-VGC8R
MPP6R-09RXG-2H8MT-8KNM9-V6C8R
MPP6R-09RXG-2H8MT-8KNM9-VGC8R
MPP6R-09RXG-2HBMT-BKHM9-V6C8R
MPP6R-09RXG-2HBMT-BKHM9-VGC8R
MPP6R-09RXG-2HBMT-BKNM9-V6C8R
MPP6R-09RXG-2HBMT-BKNM9-VGC8R
MPP6R-09RXG-2HBMT-8KHM9-V6C8R
MPP6R-09RXG-2HBMT-8KHM9-VGC8R
MPP6R-09RXG-2HBMT-8KNM9-V6C8R
MPP6R-09RXG-2HBMT-8KNM9-VGC8R
答案 1 :(得分:59)
from itertools import product
for perm in product('8B', 'B8', 'HN', '6G'):
print 'MPP6R-09RXG-2H%sMT-%sK%sM9-V%sC8R' % perm
答案 2 :(得分:17)
生成组合的另一种方法
>>> ['MPP6R-09RXG-2H%sMT-%sK%sM9-V%sC8R' % (a, b, c, d)
... for a in '8B' for b in 'B8' for c in 'HN' for d in '6G']
['MPP6R-09RXG-2H8MT-BKHM9-V6C8R',
'MPP6R-09RXG-2H8MT-BKHM9-VGC8R',
'MPP6R-09RXG-2H8MT-BKNM9-V6C8R',
'MPP6R-09RXG-2H8MT-BKNM9-VGC8R',
'MPP6R-09RXG-2H8MT-8KHM9-V6C8R',
'MPP6R-09RXG-2H8MT-8KHM9-VGC8R',
'MPP6R-09RXG-2H8MT-8KNM9-V6C8R',
'MPP6R-09RXG-2H8MT-8KNM9-VGC8R',
'MPP6R-09RXG-2HBMT-BKHM9-V6C8R',
'MPP6R-09RXG-2HBMT-BKHM9-VGC8R',
'MPP6R-09RXG-2HBMT-BKNM9-V6C8R',
'MPP6R-09RXG-2HBMT-BKNM9-VGC8R',
'MPP6R-09RXG-2HBMT-8KHM9-V6C8R',
'MPP6R-09RXG-2HBMT-8KHM9-VGC8R',
'MPP6R-09RXG-2HBMT-8KNM9-V6C8R',
'MPP6R-09RXG-2HBMT-8KNM9-VGC8R']
>>>
答案 3 :(得分:9)
如何同时使用itertools和functools?
>>> from operator import mod
>>> from functools import partial
>>> from itertools import product
>>> map(partial(mod, 'MPP6R-09RXG-2H%sMT-%sK%sM9-V%sC8R'), product('8B', 'B8', 'HN', '6G'))
['MPP6R-09RXG-2H8MT-BKHM9-V6C8R', 'MPP6R-09RXG-2H8MT-BKHM9-VGC8R', 'MPP6R-09RXG-2H8MT-BKNM9-V6C8R', 'MPP6R-09RXG-2H8MT-BKNM9-VGC8R', 'MPP6R-09RXG-2H8MT-8KHM9-V6C8R', 'MPP6R-09RXG-2H8MT-8KHM9-VGC8R', 'MPP6R-09RXG-2H8MT-8KNM9-V6C8R', 'MPP6R-09RXG-2H8MT-8KNM9-VGC8R', 'MPP6R-09RXG-2HBMT-BKHM9-V6C8R', 'MPP6R-09RXG-2HBMT-BKHM9-VGC8R', 'MPP6R-09RXG-2HBMT-BKNM9-V6C8R', 'MPP6R-09RXG-2HBMT-BKNM9-VGC8R', 'MPP6R-09RXG-2HBMT-8KHM9-V6C8R', 'MPP6R-09RXG-2HBMT-8KHM9-VGC8R', 'MPP6R-09RXG-2HBMT-8KNM9-V6C8R', 'MPP6R-09RXG-2HBMT-8KNM9-VGC8R']
答案 4 :(得分:3)
http://www.magicaljellybean.com/keyfinder/
Magical Jelly Bean Keyfinder是一款免费软件,可检索用于从注册表安装Windows的产品密钥(cd密钥)。它还有一个社区更新的配置文件,可以检索许多其他应用程序的产品密钥。
只需在您想要密钥的安装上运行它。
答案 5 :(得分:1)
如果直接在Windows 7中使用Windows Anytime Upgrade选项,则无需知道许可证密钥是什么。
只要操作系统被激活,Windows 8就会覆盖现有的操作系统,并将Windows 7中的所有内容放入“Windows旧”文件夹中,除非您需要文件或其他内容,否则可以将其删除。
Windows升级过程会查找已激活的Windows操作系统,即使Windows XP在安装升级之前已激活它也会执行。
通过Anytime Upgrade购买时,您将通过电子邮件发送Windows 8许可证密钥。如果您从商店购买升级版,您只需获得许可证密钥并下载URL或者您只需将密钥插入Windows Anytime Upgrade即可下载并自行安装。