Python Interactieve console uitvoeren

Het Python interactieve console, ook bekend als Python interpreter en als Python shell, biedt programmeurs een snelle mogelijkheid om commando's uit te voeren en de code te testen zonder een bestand aan te maken. Het onderzoeken van UNO-objecten als ook het verkrijgen van documentatie over LibreOffice Python-modules is via de terminal mogelijk.

note

Vanuit een volledig uitgerust geïnstalleerd LibreOffice-pakket lokaliseert een BASIC- of Python-script de ingesloten kopie van de Python-console.


Met gebruik van een BASIC-macro

Deze routine maakt gebruik van de Platformklassemodule om het daadwerkelijke besturingssysteem te onderscheiden.


        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
    

Met gebruik van een Python-macro


        # -*- 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
            
    

Voorbeeld uitvoer

Python Interactieve Console

Alternatieve console

Gebruik als alternatief de extensie APSO-console:

APSO-console

Help ons, alstublieft!