using text file to get ip address from hostname

Dan Katorza dkatorza at gmail.com
Wed Sep 19 04:50:47 EDT 2012


בתאריך יום רביעי, 19 בספטמבר 2012 11:14:29 UTC+3, מאת Chris Angelico:
> On Wed, Sep 19, 2012 at 5:41 PM, Dan Katorza <dkatorza at gmail.com> wrote:
> 
> >
> 
> > Hello again,
> 
> > I have another question and i hope you will understand me..
> 
> > Is there any option where you can set the program to go back to lets say the top of the code?
> 
> > I mean if the program finished the operation and i want to stay in the program and go back ro the start.
> 
> > after any operation i want the option to do it again , go back to the main menu or full exit from the program, and i want it every time.
> 
> >
> 
> > i hope i'm clear :)
> 
> 
> 
> Yep! Look up the docs and tutorial on "control flow" and "looping
> 
> constructs". Sounds like what you want here is a 'while' loop.
> 
> 
> 
> ChrisA

Hi Chris,
this is my code:

#!/usr/bin/env python
#Get the IP Address

import sys, socket

print ("\n\n#########################################################")
print ("#                Get IP from Host v 1.0                 #")
print ("#########################################################")
print ("#             Choose from the options below             #")
print ("#          1- url , 2-File(Text file only.txt)          #")
print ("#########################################################\n")

mchoice = int(raw_input("Please enter your choice> "))
while mchoice !=1 and  mchoice !=2:
    print("{0} is not a menu option.".format(mchoice))
    mchoice = int(raw_input("Please try again> "))


if mchoice == 2:
  filename = raw_input("Hello, please enter file name here> ")
  if filename.endswith(".txt"):

   try:
    infile = open(filename)
   except EnvironmentError as e:
    print(e)
    sys.exit(1)

   print("\nFile {0} exists!".format(filename))
   print("\nGetting IP addresses for hosts")
   print("\n")
  else:
       print("{0} is not a Text file.".format(filename))
       sys.exit(1)
  for line in infile:
    hostname = line.strip()
    try:
        ip_address = socket.gethostbyname(hostname)
    except EnvironmentError as e:
        print("Couldn't find IP address for {0}: {1}".format(hostname, e))
        continue
    print("IP address for {0} is {1}.".format(hostname, ip_address))
  else:
    print ("\nFinished the operation")

if mchoice == 1:
  murl = raw_input("Enter URL here> ")
  try:
      print("Checking URL...")
      ip_address = socket.gethostbyname(murl)
  except EnvironmentError as d:
      print(d)
      sys.exit(1)
  print("Valid URL")
  print("\nIP address for {0} is {1}.".format(murl, ip_address))
  print ("\nFinished the operation")
=====================================================================

now where it says Finsihed the operation i want it to show (another search /main menu/exit program)

i know about the while loop , but forgive me i just don't have a clue how to use it for this situation.

i don't want you to give me the code:) just the idea.
i did read the section about the while loop but still i do not know how to use it in this situation.
thanks.



More information about the Python-list mailing list