使用itertools试了一下,写了一个按顺序生成六位字符串保存在txt中的示例:
# This is a sample Python script.
# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
# -*- coding:utf-8 -*-
import itertools as its
words = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890~!@#$%^&*"
r = its.product(words, repeat=6)
j= 1
for i in r:
j +=1
if j == 1000:
break
dic = open('h2bcc.txt', 'a')
dic.write("".join(i))
dic.write(' ')
dic.close()
在上面的代码中控制的生成的条数,如果不控制txt会很卡会卡死
优化的方法,可以控制每个txt中保存的字付串的条数
Python中itertools是啥?
itertools是一个Python中的标准库,它可以创建高效迭代器
引入标准库 :
import itertools
itertools 创建迭代器有3类:
无限迭代器 Infinite Iterators
终止于最短输入序列的迭代器 Iterators terminating on the shortest input sequence
组合生成器 Combinatoric generators
python有3个无限迭代,分别为count(),cycle(),repeat()
count(start[, step]) 无限计数递增迭代,参数start起始数据,可选参数step为步长
cycle(p) 无限循环周期性迭代,参数p,周期性循环p序列的数据
repeat(elem [,n]) 重复迭代,对elem重复迭代n次