为了账号安全,请及时绑定邮箱和手机立即绑定

python中的文件迭代问题

python中的文件迭代问题

浮云间 2023-06-20 10:35:47
我有一个任务,其中有两个文件,即“user.txt”、“pwd.txt”,现在我想基本上遍历这些文件的每个值,即“John”和“pwd.txt”中的所有值,然后是“user.txt”中的另一个值,所有值都是“pwd.txt”。这里我想实现线程。这是我的代码,import threadingf1 = open("user.txt", "r")f2 = open("pwd.txt", "r")threads = []def brute():    for letter in f1.readlines():        print "[+]First Value: {}".format(letter)        for second_letter in f2.readlines():            print "[+]Second Value: {}".format(second_letter)                    threads.append(threading.Thread(target=runner, args=(letter,second_letter,)))for thread in threads:    thread.start()for thread in threads:    thread.join()    def runner(word1,word2):    print("[+]I am just a worker class: {0}:{1}".format(word1,word2))输出来了[+]First Value: john[+]Second Value: test1234[+]Second Value: socool![+]Second Value: abcde1234[+]Second Value: password1[+]Second Value: Passw0rd[+]Second Value: adminRocks[+]First Value: dean[+]First Value: harry[+]First Value: sam[+]First Value: joseph[+]First Value: rick[+]I am just a worker class: john:test1234[+]I am just a worker class: john:socool![+]I am just a worker class: john:abcde1234[+]I am just a worker class: john:password1[+]I am just a worker class: john:Passw0rd[+]I am just a worker class: john:adminRocks[Finished in 0.3s]我不确定如何在此处使用密码文件中的所有密码打印所有用户值。非常感谢任何帮助。
查看完整描述

1 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

根据您的帖子,目标是交叉加入用户和密码文件。为此,在 pwd 文件中加载一次,然后处理每个用户(每个线程一个)。


请注意,我使用 Python 3.8 对此进行了测试。


试试这个代码:


import threading


# create files for testing

user = "user1\nuser2\nuser3\nuser4\nuser5\nuser6\nuser7\nuser8\nuser9"

pwd = "pwd1\npwd2\npwd3\npwd4\npwd5\npwd6\npwd7\npwd8\npwd9"

with open("user.txt",'w') as f: f.write(user)

with open("pwd.txt",'w') as f: f.write(pwd)



##### main script #####


# load all pwds

f2 = open("pwd.txt", "r")

lstpwd = f2.readlines()


f1 = open("user.txt", "r")

threads = []

def brute():

    for letter in f1.readlines():

        print ("\n[+]First Value: {}".format(letter.strip()))

        for second_letter in lstpwd:

            print ("[++]Second Value: {}".format(second_letter.strip()))

            threads.append(threading.Thread(target=runner, args=(letter,second_letter,)))


    for thread in threads:

        thread.start()


    for thread in threads:

        thread.join()

    

def runner(word1,word2):

    print("[+]I am just a worker class: {0}:{1}".format(word1.strip(),word2.strip()))

    

brute()

输出


[+]First Value: user1

[++]Second Value: pwd1

[++]Second Value: pwd2

[++]Second Value: pwd3

.......    

[+]First Value: user2

[++]Second Value: pwd1

[++]Second Value: pwd2

[++]Second Value: pwd3

.......

[+]I am just a worker class: user1:pwd1

[+]I am just a worker class: user1:pwd2

[+]I am just a worker class: user1:pwd3

.......

[+]I am just a worker class: user2:pwd1

[+]I am just a worker class: user2:pwd2

[+]I am just a worker class: user2:pwd3

.......


查看完整回答
反对 回复 2023-06-20
  • 1 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信