בתאריך יום רביעי, 19 בספטמבר 2012 15:28:23 UTC+3, מאת Dan Katorza: > בתאריך יום רביעי, 19 בספטמבר 2012 12:11:04 UTC+3, מאת Dan Katorza: > > > בתאריך יום רביעי, 19 בספטמבר 2012 11:50:56 UTC+3, מאת Dan Katorza: > > > > > > > בתאריך יום רביעי, 19 בספטמבר 2012 11:14:29 UTC+3, מאת Chris Angelico: > > > > > > > > > > > > > > > On Wed, Sep 19, 2012 at 5:41 PM, Dan Katorza <dkato...@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. > > > > > > > > > > > > o.k a giant while loop :) > > > > > > thanks. > > > > hi, > > found a solution, > > it's not quite like Chris advised but it works. > > > > #!/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()
Hi Dave, thanks for your comment. please note this is only my 6th day of programing in any language ever and i'm tutoring my self. I know this code is too long and lousy for a simple task, but i guess this is part of my learning process. 3 days ago i already figured out that is too long and probably there is better solution, but I decided to try and work it out anyway just for learning and dealing with a bad code. anyway what i realized is before i want to write a program/task , i need to write what i want before and plan it ahead. anyway thanks everyone. -- http://mail.python.org/mailman/listinfo/python-list