using text file to get ip address from hostname

Dave Angel d at davea.name
Wed Sep 19 14:22:39 EDT 2012


On 09/19/2012 08:28 AM, Dan Katorza wrote:
> בתאריך יום רביעי, 19 בספטמבר 2012 12:11:04 UTC+3, מאת Dan Katorza:
>> <SNIP>
>> hi, ll like
>> found a solution,
>> it's not quite like Chris advised but it works.

Not at all like Chris advised.  But it also doesn't help you understand
programming.  Two concepts you're going to have to get a lot more
comfortable with, in Python, or in some other language.  One is loops,
and the other is functions.
>> #!/usr/bin/env python
>> #Get the IP Address
>>
>> import sys, socket, os
>>
>> def restart_program():
>>     python = sys.executable
>>     os.execl(python, python, * sys.argv)
>>
>> 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> "))
>>
>>
>> while mchoice == 2:
>>     filename = raw_input("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")
>>         print ("A=another search, M=main menu, E=exit")
>>
>>         waction=raw_input("Please choose your action > ")
>>
>>         while waction !='A' and waction !='M' and waction !='E':
>>             print("{0} is not a valid action.".format(waction))
>>             waction=raw_input("Please try again> ")
>>         if waction =='E':
>>             sys.exit(1)
>>         if waction =='A':
>>             continue
>>         if waction =='M':
>>             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> "))
>>
>>
>> while 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")
>>     print ("A=another search, M=main menu, E=exit")
>>
>>     waction=raw_input("Please choose your action > ")
>>
>>     while waction !='A' and waction !='M' and waction !='E':
>>         print("{0} is not a valid action.".format(waction))
>>         waction=raw_input("Please try again> ")
>>     if waction =='E':
>>         sys.exit(1)
>>     if waction =='A':
>>         continue
>>     if waction =='M':
>>         restart_program()
>>
>>
>>
>>
This is one enormous top-level code, and when you needed to enclose it
in a loop, your answer is to start a new process!  You also duplicate
quite a few lines, rather than making a function for them, and calling
it from two places.


-- 

DaveA




More information about the Python-list mailing list