es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Almacene todos los valores recibidos en una cadena diferente con hilos.

Tengo este código y estoy tratando de separar todos los correos electrónicos, contraseñas y la tercera línea en una cadena diferente. Aquí está el código:

import random
from concurrent.futures import ThreadPoolExecutor

FILENAME = 'testing/pokens.txt'
NTHREADS = 5

def myfunc():
    with open(FILENAME) as infile:
        lines = infile.readlines()
        line = random.choice(lines).strip()
        tokens = line.split(':')
        return ' '.join(tokens)

def main():
    with ThreadPoolExecutor() as executor:
        futures = []
        printable = set()
        for _ in range(NTHREADS):
            future = executor.submit(myfunc)
            futures.append(future)
        for future in futures:
            printable.add(future.result())
        for p in printable:
            print(p)

if __name__ == '__main__':
    main()

Así que por ejemplo, “p” imprime j3mxshasn12312zh@oncemail.co.kr 75d9d216fba123216-4e*%& third_line eliminando los hilos de línea duplicada. Quiero que todos los correos electrónicos, todas las contraseñas y todas las terceras líneas se almacenen en una cadena diferente (correo1, correo2, contra1, contra2, tercera_línea1, tercera_línea2, etc).

Muestra de archivo Pokens.txt:

1thtx3213wqpzxn@oncemail.co.kr:2664a171322139489348:tercera_línea
2bixr3123dxpdzz@oncemail.co.kr:b1*+b0ab9b(17213213^9$#@d1e:tercera_línea
j3mxshasn12312zh@oncemail.co.kr:75d9d216fba123216-4e*%&:tercera_línea
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para separar todos los correos electrónicos, contraseñas y la tercera línea en una cadena diferente, puede modificar la función myfunc() para que devuelva una tupla del correo electrónico, contraseña y tercera línea en lugar de unirlos en una cadena separada por espacios. Luego, en la función main(), cree conjuntos separados para los correos electrónicos, las contraseñas y las terceras líneas, y agregue los elementos correspondientes de cada resultado a los conjuntos respectivos. Finalmente, puede unir los elementos de cada conjunto en una cadena separada por comas.

    Aquí está el código modificado:

    import random
    from concurrent.futures import ThreadPoolExecutor
    
    FILENAME = 'testing/pokens.txt'
    NTHREADS = 5
    
    def myfunc():
        with open(FILENAME) as infile:
            lines = infile.readlines()
            line = random.choice(lines).strip()
            email, password, third_line = line.split(':')
            return email, password, third_line
    
    def main():
        with ThreadPoolExecutor() as executor:
            futures = []
            emails = set()
            passwords = set()
            third_lines = set()
            for _ in range(NTHREADS):
                future = executor.submit(myfunc)
                futures.append(future)
            for future in futures:
                email, password, third_line = future.result()
                emails.add(email)
                passwords.add(password)
                third_lines.add(third_line)
            email_str = ','.join(emails)
            password_str = ','.join(passwords)
            third_line_str = ','.join(third_lines)
            print(email_str)
            print(password_str)
            print(third_line_str)
    
    if __name__ == '__main__':
        main()
    

    Este código crea tres conjuntos (emails, passwords y third_lines) para almacenar elementos únicos del resultado de cada hilo. La función myfunc() ahora devuelve una tupla del correo electrónico, la contraseña y la tercera línea. En la función main(), los elementos de cada tupla de resultado se agregan a los conjuntos correspondientes usando el método add(). Finalmente, los elementos de cada conjunto se unen en una cadena separada por comas e imprimidos de manera separada.

    Tenga en cuenta que este código asume que no hay correos electrónicos ni contraseñas duplicados dentro del archivo pokens.txt. Si hay duplicados, se eliminarán al agregarlos a los conjuntos correspondientes y solo se imprimirán los elementos únicos.

Comments are closed.