Aide LibreOffice 7.3
La console interactive Python, également connue sous le nom d'interpréteur Python ou shell Python, offre aux programmeurs un moyen rapide d'exécuter des commandes, d'essayer et de tester du code sans créer de fichier. L'introspection des objets UNO ainsi que la documentation des modules LibreOffice Python peuvent être obtenus à partir du terminal.
From a full-featured LibreOffice installed package, use either Basic or Python:
Sub interpreter_console
Const UNIX = 4
ps = CreateUnoService("com.sun.star.util.PathSettings")
install_path = ConvertFromURL(ps.Module)
cmd = IIF(GetGuiType()=UNIX,"x-terminal-emulator -e ","")
Shell(cmd + install_path + GetPathSeparator() + "python" )
End Sub
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import uno, os, subprocess
def interpreter_console():
ctx = XSCRIPTCONTEXT.getComponentContext()
smgr = ctx.getServiceManager()
ps = smgr.createInstanceWithContext("com.sun.star.util.PathSettings", ctx)
install_path = uno.fileUrlToSystemPath(ps.Module)
pgm = install_path + os.sep + "python" # Python shell/console path
subprocess.Popen(pgm) # Start Python interactive Shell
From a LibreOffice copy included in a GNU/Linux platform, use the terminal as shown:
whereis or type terminal commands help locate Python interactive console:
user@computer:~$ type -p python3
/usr/bin/python3
user@computer:~$ /usr/bin/python3
Python 3.7.5 (default, Nov 20 2019, 09:21:52)
[GCC 9.2.1 20191008] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import uno
>>> dir(uno)
['Any', 'Bool', 'ByteSequence', 'Char', 'Enum', 'PY2', 'Type', '_ConstantGroup', '__builtin__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_builtin_import', '_component_context', '_impl_getConstantGroupByName', '_uno_extract_printable_stacktrace', '_uno_import', '_uno_struct__eq__', '_uno_struct__getattr__', '_uno_struct__init__', '_uno_struct__ne__', '_uno_struct__repr__', '_uno_struct__setattr__', '_uno_struct__str__', 'absolutize', 'createUnoStruct', 'fileUrlToSystemPath', 'generateUuid', 'getClass', 'getComponentContext', 'getConstantByName', 'getCurrentContext', 'getTypeByName', 'invoke', 'isInterface', 'os', 'pyuno', 'setCurrentContext', 'six_string_types', 'socket', 'sys', 'systemPathToFileUrl', 'traceback', 'warnings']
>>> exit()
user@computer:~$
Use APSO extension console as an alternative: