Unpacking a Sequence into Separate Variables

her hansi ardicilliq ve ya tekrarlanan data variable lere unpack oluba biler.Bunun ucun variable ler ardicilliga uygun gelmelidir

#!/usr/bin/python
#-*- coding: utf -*-

data = [ 'Camoufl4g3', 99, 1945, ('unknownperson', 'Delixana', 3)]
name,age,year,info = data

Yuxaridaki numunede list in icerisinde her elemente uygun olaraq deyiskenler menimsedirik
Eger deyiskenle data daki element ust uste dusmezse

ValueError: need more than 4 values to unpack
exception alacagiq.Bu exceptionun menasi odur ki,verilen ardicilliga gore deyisken uygun gelmir ya artiq yazilib ve eksik yazilib.
Pythonda bu ardicilligi legv etmek ucun her hansi xususi sintaksis yoxdur. Lakin asagi da ki formada bunu hell ede bilerik
(_ simvolu vasitesi ile)

data = [ 'Camoufl4g3', 99, 1945, ('unknownperson', 'Delixana', 3)]
name,age,year,_ = data

print age
Advertisements

Python admin panel scanner v.1

Salamlar hərkəsə.Sizlərlə python 2.7 versiyasında yazdığım admin panel scanner tool-unu paylaşmaq istəyirəm.Üzərində kiçik exception dəyişikliyini etmişəm
Tool haqqında kiçik məlumat verim.İşlədilməsi root privilegiya tələb edir. -help arqumenti ilə istifadə qaydası ilə tanış ola bilərsiniz.Tool hələki dönən response prinsipi ilə işləyir irəlidə bir az daha təkmilləşdirmək GUI də yazmaq olar.Niyə də olmasin
Github linkini paylaşıram proqramın özünü və lügəti ordan yükləyib işlədə bilərsiniz.
https://github.com/camoufl4g3/scanner

#!/usr/bin/python
# -*- coding: utf8 -*-
#Port scanner tool
#Python 2.7
# __author__ = 'camoufl4g3'
 
 
import os,sys,time,httplib,requests,urllib2,optparse 
from termcolor import colored
 
about = """
#########################################
                                       ##
Online Admin Panel Scanner. v.1        ##
                                       ##
#Camoufl4g3                            ##
                                       ##
camoufl4g3@gmail.com                   ##
Select the option -help for help       ##
#########################################
 
"""
 
def scan(domain):
    if "http://" not in domain:
        domain = "http://" + domain
    try:
        print "\n--------------------------------------------"
        print (colored('Scan starts for target: ','green'))+colored(domain,'red')
        print "--------------------------------------------\n"
         
        f = open("file.txt","r")
        myList = []
        for line in f:
            myList.append(line)
 
        all = 0
         
        for j in range(len(myList)):
             time.sleep(1)
              
             response = requests.get(domain+"/"+myList[j].rstrip('\n'))
             status   = response.status_code
             if(status == 200):
                 all+= 1
                  
                 print(domain+"/"+myList[j].rstrip('\n')),colored('[+]', 'green')
             elif(status == 401):
                 all+= 1
                  
                 print(domain+"/"+myList[j].rstrip('\n')),colored('[+]', 'green')
             else:
                 print(domain+"/"+myList[j].rstrip('\n')),colored('[-]', 'red')
 
                  
 
        print("Found result(s): "+colored(str(all), 'red'))
    except requests.exceptions.ConnectionError as e:
        time.sleep(1)
        print("web site is down")
 
def Main():
 
    try:
        # if not root...kick out
        if not os.geteuid()==0:
            sys.exit("\n Root permission need to run the scanner\n")
 
 
        parser = optparse.OptionParser(about)
        parser.add_option('-d',
                          action = "store", #stored
                          dest   = "domain",
                          type   = "string", #int tipi
                          help = "for example: ./scanner.py -d victim.com")
 
        (option,args) = parser.parse_args() #it return tuple
        if option.domain == None:
            print parser.usage
            sys.exit(0)
        else:
            scan(option.domain)
    except KeyboardInterrupt:
            print "Program exit"
 
     
 
if __name__ == "__main__":
    Main()