Pomoč LibreOffice 25.2
Interaktivna konzola Python, znana tudi kot tolmač Pythona ali lupina Python, programerjem ponuja hitro pot do izvajanja ukazov in preizkušanja kode, ne da bi ustvarjali datoteko. Introspekcijo predmetov UNO ter dokumentacijo modulov LibreOffice Python lahko pridobite v terminalu.
Iz kopije LibreOffice, vključene v platformo GNU/Linux, uporabite terminal, kot je prikazano spodaj:
Ukaza v terminalu whereis in type pomagata poiskati interaktivno konzolo Python:
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:~$
V polno nameščenem pisarniškem paketu LibreOffice skript Basic ali Python poišče vdelano kopijo konzole Python.
Ta procedura se zanaša na razredni modul Platform, da razpozna dejanski operacijski sistem.
Sub interpreter_console
Set opsys = New Platform
ps = CreateUnoService("com.sun.star.util.PathSettings")
install_path = ConvertFromURL(ps.Module)
If opsys.isMacOSX Then
cmd = "/System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal "
pgm_path = Array( install_path,"..","Resources","python" )
ElseIf opsys.isLinux Then
cmd = "x-terminal-emulator -e "
pgm_path = Array(install_path,"python")
ElseIf opsys.isWindows Then
cmd = ""
pgm_path = Array("python")
EndIf
python_interpreter = Join( pgm_path, GetPathSeparator() )
Shell(cmd + python_interpreter)
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
Uporabite konzolo razširitve APSO (Alternative Python Script Organizer) kot alternativo: