• 22-11-2018, 19:54:39
    #1
    S.a. arkadaşlar,

    Şimdi for dan gelen değerler var. 5 thread açıp işlem yapmak istiyorum. Aşağıdaki kodda hata yok fakat, 5 thread açında for dan gelen değerler doğal olarak 5 aynı işlemi yapıyor.

    with open('xxx.txt','r+') as p:
        sayi = p.readlines()
        c = 0
        for a in range(0,len(sayi),8):
            #print(c)
            if c==okusayi:
                break
            else:
                if c > 0:
                    cikar = (a+1 - 8)
                    #print(a)
                    #print(cikar,a)
                    parca = oku[c].split('.')
                    ad = parca[0]
                    soyad = parca[1]
                    soyadparca = soyad.split('@')
                    soyad = soyadparca[0]
                    soy = re.sub(r"(d+)","",soyad)
                    hesapparcala = oku[c].split('&')
                    email = hesapparcala[0].replace("n","").strip()
                    sifre = hesapparcala[1].replace("n","").strip()
                    kullanici = hesapparcala[2].replace("n","").strip()
                    ip = hesapparcala[3].replace("n","").strip()
                    port=hesapparcala[4].replace("n","").strip()
                    useragent = hesapparcala[5].replace("n","").strip()
                    rastgele = random.randint(1,8)
                    with open('./klasor/'+str(rastgele)+'.txt') as k:
                        mesaj = k.readlines()
                        mami = mesaj[0]+" ( "+email+ " )"
                    print(c,email,cikar,a)
                   threads = []
                   th1 = Thread(target=gonder, args=(email,sifre,ip,port,useragent,cikar,a,mami))
                   th2 = Thread(target=gonder, args=(email,sifre,ip,port,useragent,cikar,a,mami))
                   th3 = Thread(target=gonder, args=(email,sifre,ip,port,useragent,cikar,a,mami))
                   threads.append(th1)
                   threads.append(th2)
                   threads.append(th3)
                   th1.start()
                   th2.start()
                   th3.start()
                   for thread in threads:
                         thread.join()
                    #gonder(email,sifre,ip,port,useragent,cikar,a,mami)
                 
            c += 1
        p.close()





    Şimdi ben burda ne yapmam lazım.. Bu for içinden gelen değerleri biz diziye atayıp. Sonra tekrar for içine sokup 5 er 5 er işlemi yaptırsak acaba. Bilmiyorum ya kafam karıştı açıkcası.
  • 24-11-2018, 03:24:53
    #2
    import random import threading from queue import Queue  q = Queue()  def parcala(x): #gerekli İşlemleri burada yapabilirsin print(x+" Parcalandi")  def oku(): while not q.empty(): string = q.get() parcala(string)  with open("test.txt","r") as f: read = f.readlines() for i in read: q.put(i) for i in range(5): th1 = threading.Thread(target = oku) th1.start()
    Çözüm yolunu bu kodla. Hallettim. Başk bir platformdan bir arkadaş yardımcı oldu. Burdan tekrardan teşekkür ederim.