如何在迭代之间添加迭代信息?

时间:2016-05-31 21:01:35

标签: python python-3.x

我正在使用这段代码,将它提供给一大块混淆的java脚本,并让它通过xor函数吐出一堆迭代。我的问题是我需要知道哪个XOR值或循环的哪个迭代是正确的。如何添加一些换行符 - 理想情况下是4-inbetween迭代,以及迭代值?我尝试添加一个带有一系列换行符的变量,以及当前的for循环值,但它不起作用。

    #!/usr/bin/python
    import os,sys
    import subprocess
    import re
    import glob
    from os import path

    perl = "perl -pe 's/[^\d ]//g; s/(\d+)\s+/chr($1^"
    userInput = input("")
    tail = ")/ge'"

    def deobBrute():
        for i in range(0, 102):
            yield "{0}{1}{2}{3}".format(userInput, perl, i, tail)

    brute = deobBrute()

    for _ in range(0, 102):
        print(subprocess.Popen(next(brute), shell=True))

2 个答案:

答案 0 :(得分:0)

Python 3具有打印功能,默认情况下包含一个名为end='\n'的命名参数。

您可以尝试将print语句更改为:

    print(subprocess.Popen(next(brute), shell=True), end='\n\n\n\n')

答案 1 :(得分:0)

我想通了,我使用check_output()将输出存储到变量中,然后在字符串和迭代编号之后打印了该变量。

#!/usr/bin/python
import os,sys
import subprocess
import re
import glob
from subprocess import check_output
from os import path

perl = "perl -pe 's/(\d+)\s+/chr($1^"
userInput = input("")
tail = ")/ge'"

def deobBrute():
    for i in range(0, 102):
        yield "{0}{1}{2}{3}".format(userInput, perl, i, tail)

brute = deobBrute()

for _ in range(0, 102):
    out = check_output(next(brute), shell=True)
    print("This Is Iteration ", _, out)