I'm having issues calling functions from argpars. This is a simplified version of my script and this works, printing whatever value I give -s or -p
import argparse
def main():
    parser = argparse.ArgumentParser(description="Do you wish to scan for live hosts or conduct a port scan?")
    parser.add_argument("-s", dest='ip3octets', action='store', help='Enter the first three octets of the class C network to scan for live hosts')
    parser.add_argument("-p", dest='ip', action='store',help='conduct a portscan of specified host')
    args = parser.parse_args()
    print args.ip3octets
    print args.ip
This however, which to me is logically identical produces errors:
import argparse
def main():
    parser = argparse.ArgumentParser(description="Do you wish to scan for live hosts or conduct a port scan?")
    parser.add_argument("-s", dest='ip3octets', action='store', help='Enter the first three octets of the class C network to scan for live hosts')
    parser.add_argument("-p", dest='ip', action='store',help='conduct a portscan of specified host')
    args = parser.parse_args()
    printip3octets()
    printip()
def printip3octets():
    print args.ip3octets
def printip():
    print args.ip
if __name__ == "__main__":main()
Does anyone know where I am going wrong?
 
     
     
     
    