Execució de la consola interactiva de Python

La consola interactiva de Python també coneguda com a intèrpret de Python o consola de Python, proporciona als programadors una manera ràpida d'executar ordres i testejar codi sense crear un fitxer. Es poden obtenir els objectes d'UNO introspecció i els mòduls de Python de LibreOffice des del terminal.

note

From a full-featured LibreOffice installed package, a Basic or Python script locates the embedded copy of Python console.


Us d'una macro en 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
    

Us d'una macro en 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
            
    

Exemple de sortida

Consola interactiva de Python

Consola alternativa

Feu servir la consola de l'extensió APSO com a alternativa:

Consola APSO

Ens cal la vostra ajuda!