Using exec with embedded python interpreter 3.7
MRAB
python at mrabarnett.plus.com
Sun Sep 1 15:39:39 EDT 2019
On 2019-08-31 13:16, Eko palypse wrote:
> I've already sent this through mail yesterday but it doesn't appear here, maybe because of the help word in the content. Please execute in case it appears a second time.
>
>
> Hello,
> I'm creating a notepad++ plugin which hosts an embedded python interpreter by using cffi to build the dll.
> So far so good. One obstacle I've found is that I'm not able to use exec(help(object)) in order to get the wanted info from the object.
>
> The error I get is:
>
> Traceback (most recent call last):
> File "<init code for 'Python3Script'>", line 131, in run_code
> File "<string>", line 1, in <module>
> File "D:\...\Python\Python37_64\Lib\_sitebuiltins.py", line 103, in __call__
> return pydoc.help(*args, **kwds)
> File "D:\...\Python\Python37_64\Lib\pydoc.py", line 1895, in __call__
> self.help(request)
> File "D:\...\Python\Python37_64\Lib\pydoc.py", line 1954, in help
> else: doc(request, 'Help on %s:', output=self._output)
> File "D:\...\Python\Python37_64\Lib\pydoc.py", line 1674, in doc
> pager(render_doc(thing, title, forceload))
> File "D:\...\Python\Python37_64\Lib\pydoc.py", line 1451, in pager
> pager(text)
> File "D:\...\Python\Python37_64\Lib\pydoc.py", line 1576, in plainpager
> sys.stdout.write(plain(_escape_stdout(text)))
> File "D:\...\Python\Python37_64\Lib\pydoc.py", line 1528, in _escape_stdout
> return text.encode(encoding, 'backslashreplace').decode(encoding)
> TypeError: encode() argument 1 must be str, not method
>
> If I encase the object with quotes then I do get the info that no documentation
> is found for that object.
>
> 1. It doesn't feel right to encase the object with quotes. I don't have to do this using the standard python interpreter shell. What did I miss?
>
> 2. If it is needed to use the encased way, why don't it show the help info?
> The object class contains the module, class and functions doc strings, what did I miss here?
>
I don't understand the "exec(help(object))" bit. help(object) print the
help and returns None, so why exec(None)?
More information about the Python-list
mailing list