I'm writing a code to take a user input and provide its documentation in python. But the string in the user input is used with quotes in python

Viewed 80
user_input = input("\nWhat can I help you with? ")
user_input = user_input.strip('"')
print("\n>>"+user_input.__doc__)

In the above code the user_input.doc is causing the following problem:

str(bytes_or_buffer[, encoding[, errors]]) -> str Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.str() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

Can anyone help me on removing quotes from user_input when I use it with __doc__?

2 Answers

You can use eval():

user_input = input("\nWhat can I help you with? ")
user_input = user_input.strip('"')
print("\n>>"+eval(user_input).__doc__)

The problem is, your code isn't looking up any function. A string will never translate to a function even if it shares the name. The function will return a string of your input, and you are then accessing that strings documentations.

Related