Εκτέλεση διαδραστικής κονσόλας Python
Η διαδραστική κονσόλα Python, γνωστή και ως διερμηνευτής Python ή κέλυφος Python, παρέχει στους προγραμματιστές με έναν γρήγορο τρόπο εκτέλεσης εντολών και δοκιμάζει και ελέγχει τον κώδικα χωρίς τη δημιουργία αρχείου. Ο αυτοέλεγχος αντικειμένων UNO καθώς και η τεκμηρίωση των αρθρωμάτων Python του Collabora Office μπορεί να ληφθεί από τον τερματικό.
Χρήση τερματικού
Από ένα αντίγραφο Collabora Office που περιλαμβάνεται σε λειτουργικό GNU/Linux, χρησιμοποιήστε το τερματικό όπως φαίνεται:
Οι εντολές τερματικού whereis ή type βοηθούν στον εντοπισμό της διαδραστικής κονσόλας 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:~$
From a full-featured Collabora Office installed package, a Basic or Python script locates the embedded copy of Python console.
Χρήση μακροεντολής Basic
This routine resorts to Platform class module in order to distinguish the actual operating system.
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
Χρήση μακροεντολής Python
# -*- 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
Έξοδος παραδείγματος

Εναλλακτική κονσόλα
Χρησιμοποιήστε την κονσόλα επέκταση APSO ως εναλλακτική:
