Hilfe für Collabora Office 24.04
Die interaktive Python-Konsole, auch als Python-Interpreter oder Python-Shell bekannt, bietet Programmierern eine schnelle Möglichkeit, Befehle auszuführen und Code auszuprobieren und zu testen, ohne eine Datei zu erstellen. Die Introspektion von UNO-Objekten sowie die Dokumentation zu Collabora Office Python-Modulen können vom Terminal abgerufen werden.
Verwenden Sie in einem vollständig installierten Collabora Office entweder Basic oder 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
Verwenden Sie das in einer GNU/Linux-Plattform der Collabora Office-Kopie enthaltene Terminal wie folgt:
Die Terminal-Befehle whereis oder type helfen bei der Suche nach der interaktiven Python-Konsole:
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:~$
Verwenden Sie die Konsole APSO-Erweiterung als eine Alternative: