LibreOffice 7.5 žinynas
Interaktyvioji „Python“ konsolė, dar vadinama „Python“ vertėju arba „Python“ apvalkalu, suteikia programuotojams galimybę greitai atlikti komandas ir išbandyti ar testuoti kodą nesukuriant failo. UNO objektų apžiūrą ir „LibreOffice Python“ modulių dokumentaciją galima gauti iš terminalo.
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: