如何获得我的强奸者的百分比?

时间:2017-07-04 13:30:14

标签: python

我需要帮助了解如何计算我的脚本进度的百分比,因为它需要一段时间,具体取决于[CPU,时钟速度,RAM和目标password_list的长度]。

你能指出我正确的方向,还是向我展示如何计算这个?

import itertools, math
Alphabet = ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890") # Add or remove whatevs you think will be in the password you're cracking (example, [symbols])
counter = 1
CharLength = 1
start_range = int(raw_input("Enter start range: ") # <<< To begin brute force
end_range = int(raw_input("Enter end range: ")) # <<< To end brute force
filename = "bruteforce_%r-%r.txt" % (start_range, end_range)

以下是进行计算的地方;不幸的是,百分比只是我的大脑不会让我理解他们:/

# Math below don't let it bore you :)
y = len(Alphabet)
x = len(start_range)
total = math.pow(x, y)
f = open(filename, 'a')
# Math above don't let it bore you :(

第一个for循环

for CharLength in range(start_range, end_range):
    passwords = (itertools.product(Alphabet, repeat = CharLength))

第二个循环

    for i in passwords:
        counter += 1
        i = str(i)
        i = i.replace("[", "")
        i = i.replace("]", "")
        i = i.replace("'", "")
        i = i.replace(" ", "")
        i = i.replace(",", "")
        i = i.replace("(", "")
        i = i.replace(")", "")
        f.write(i)
        f.write('\n')
        print "%r:  %r" % (i, percentage) # <--- *Display percentages on second format argument
        pass

1 个答案:

答案 0 :(得分:3)

使用python-progressbar。从他们的git repo:

  

ProgressBar类管理当前进度和格式   该行由许多小部件给出。小部件是一个对象   可能会根据进度条的状态显示不同的内容。   有三种类型的小部件:

     
      
  • 一个字符串,始终显示自己

  •   
  • 一个ProgressBarWidget,每次调用更新方法时都可能返回不同的值

  •   
  • ProgressBarWidgetHFill,类似于ProgressBarWidget,但它会展开以填充该行的剩余宽度。

  •   

示例:

import progressbar as pb

progress = pb.ProgressBar(widgets=_widgets, maxval = 400000).start()
progvar = 0

for i in range(400000):  
    # Your code here
    progress.update(progvar + 1)
    progvar += 1

输出:

Progress: |####################################################            |80%