2013-03-03 17 views
9

Anonim bir FTP tarayıcısını bulmaya çalışıyorum ama X işlevini çağırmakla ilgili bir hata aldım, X, ony 1 argümanını almak için X'i tanımladım adres, aynı kodu kullanmazsam ve IP'leri tek tek gönderirsem çalışır.Python hatası: X() tam olarak 1 argüman alır (8 verilen)

hatası: burada X() alır tam olarak 1 argüman (8 göz önüne alındığında) Thread nesne oluştururken

from ftplib import FTP 
import ipcalc 
from threading import Thread 


def X (ip): 
    try: 
     ftp = FTP(ip) 
     x = ftp.login() 
     if 'ogged' in str(x): 
      print '[+] Bingo ! we got a Anonymous FTP server IP: ' +ip 
    except: 
     return 


def main(): 
    global ip 
    for ip in ipcalc.Network('10.0.2.0/24'): 
     ip = str(ip) 
     t = Thread (target = X, args = ip) 
     t.start() 
main() 

cevap

16

, args bağımsız değişken bir sekans olabilir, ancak bir dizge içinde geçmektedir. Bu, Python'un dize üzerinde yinelemesine ve her karakterin bir argüman olarak ele alınmasına neden olur. Basın onay işareti -

t = Thread (target = X, args = [ip]) 
+0

Bingo teşekkürler milyon – Hussam

+1

@Hussam:

t = Thread (target = X, args = (ip,)) 

veya bir liste:

tek bir eleman içeren bir demet kullanabilirsiniz. – Malvolio

İlgili konular