Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #29514

Re: using text file to get ip address from hostname

Date 2012-09-19 14:22 -0400
From Dave Angel <d@davea.name>
Subject Re: using text file to get ip address from hostname
References (2 earlier) <b59ef403-5b4b-49a0-a3a8-1d2321263ff0@googlegroups.com> <mailman.902.1348042468.27098.python-list@python.org> <mailman.903.1348044655.27098.python-list@python.org> <mailman.905.1348045864.27098.python-list@python.org> <1ac7b836-abfb-401b-b6ac-3ae4ad6c1ce7@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.933.1348078992.27098.python-list@python.org> (permalink)

Show all headers | View raw


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

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

using text file to get ip address from hostname dkatorza@gmail.com - 2012-09-12 07:24 -0700
  Re: using text file to get ip address from hostname Chris Angelico <rosuav@gmail.com> - 2012-09-13 00:35 +1000
  Re: using text file to get ip address from hostname dkatorza@gmail.com - 2012-09-12 07:41 -0700
    Re: using text file to get ip address from hostname Alister <alister.ware@ntlworld.com> - 2012-09-12 17:51 +0000
    Re: using text file to get ip address from hostname Terry Reedy <tjreedy@udel.edu> - 2012-09-12 17:04 -0400
  Re: using text file to get ip address from hostname Jason Friedman <jason@powerpull.net> - 2012-09-12 21:12 -0600
  Re: using text file to get ip address from hostname Dan Katorza <dkatorza@gmail.com> - 2012-09-15 09:20 -0700
    Re: using text file to get ip address from hostname Hans Mulder <hansmu@xs4all.nl> - 2012-09-15 20:52 +0200
    Re: using text file to get ip address from hostname Thomas Rachel <nutznetz-0c1b6768-bfa9-48d5-a470-7603bd3aa915@spamschutz.glglgl.de> - 2012-09-17 22:37 +0200
  Re: using text file to get ip address from hostname Dan Katorza <dkatorza@gmail.com> - 2012-09-15 15:43 -0700
    Re: using text file to get ip address from hostname Dan Katorza <dkatorza@gmail.com> - 2012-09-19 00:41 -0700
      Re: using text file to get ip address from hostname Chris Angelico <rosuav@gmail.com> - 2012-09-19 18:14 +1000
        Re: using text file to get ip address from hostname Dan Katorza <dkatorza@gmail.com> - 2012-09-19 01:50 -0700
          Re: using text file to get ip address from hostname Chris Angelico <rosuav@gmail.com> - 2012-09-19 18:59 +1000
        Re: using text file to get ip address from hostname Dan Katorza <dkatorza@gmail.com> - 2012-09-19 01:50 -0700
          Re: using text file to get ip address from hostname Dan Katorza <dkatorza@gmail.com> - 2012-09-19 02:10 -0700
          Re: using text file to get ip address from hostname Dan Katorza <dkatorza@gmail.com> - 2012-09-19 02:10 -0700
            Re: using text file to get ip address from hostname Dan Katorza <dkatorza@gmail.com> - 2012-09-19 05:28 -0700
              Re: using text file to get ip address from hostname Dave Angel <d@davea.name> - 2012-09-19 14:22 -0400
            Re: using text file to get ip address from hostname Dan Katorza <dkatorza@gmail.com> - 2012-09-19 05:28 -0700
              Re: using text file to get ip address from hostname Dan Katorza <dkatorza@gmail.com> - 2012-09-19 22:13 -0700
              Re: using text file to get ip address from hostname Dan Katorza <dkatorza@gmail.com> - 2012-09-19 22:13 -0700

csiph-web