Exécution de la console interactive Python

La console interactive Python, également connue sous le nom d'interpréteur Python ou shell Python, offre aux programmeurs un moyen rapide d'exécuter des commandes, d'essayer et de tester du code sans créer de fichier. L'introspection des objets UNO ainsi que la documentation des modules LibreOffice Python peuvent être obtenus à partir du terminal.

note

À partir d'un package installé LibreOffice complet, un script Basic ou Python localise la copie intégrée de la console Python.


Utiliser une macro Basic

Cette routine recourt au module de classe Platform afin de distinguer le système d'exploitation réel.


        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
    

Utiliser une macro 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 sortie

Console interactive Python

Console alternative

Utilisez la console APSO extension comme alternative :

Console APSO

Aidez-nous !