A goto-like usage of a function
Bart Nessux
bart_nessux at hotmail.com
Thu Jul 29 11:20:59 EDT 2004
Bart Nessux wrote:
> Here's a function that I want to use to capture user input. They enter a
> path and then confirm that it's the correct path or not or decide to
> quit the program if they want. The 'y' (the path is right, let's
> continue) and the 'q' (I hate your stupid program and want to stop it
> now) both work fine. However the 'n' (I've entered the path incorrectly
> and want to do it again produces this error:
>
> Traceback (most recent call last):
> File "clean_file_names_function_better.py", line 16, in ?
> path_name()
> File "clean_file_names_function_better.py", line 14, in path_name
> path_name()
> TypeError: 'str' object is not callable
>
> Here's the function... if the user wants to re-enter the path name...
> I'm simply calling the function again... is this wrong???
>
> def path_name():
> import sys
> path_name = raw_input("\nEnter the absolute path to the directory
> that contains the files... for example, /home/user: ")
> print "\nYou entered: ", path_name, "\n"
> confirm = raw_input("Is this the correct path: (press 'y' for YES
> 'n' for NO or 'q' to QUIT)\n\n")
> if confirm == 'y':
> print "\nStarting Program.\n"
> return path_name
> elif confirm == 'q':
> print '\n'
> sys.exit()
> else:
> print "\nTry again.\n"
> path_name()
>
> path_name()
Sorry... namespace pollution. Both the function
and a var within it were named "path_name"... I'm
an idiot... I need more coffee.
More information about the Python-list
mailing list