Работа в интерактивной консоли Python

Интерактивная консоль Python, также известная как интерпретатор Python или оболочка Python, позволяет программистам быстро выполнять команды, испытывать и тестировать код без необходимости создания файла сценария. В терминале можно выполнять инспекцию объектов UNO, а также получать доступ к документации модулей LibreOffice Python.

Значок примечания

В составе установленного полнофункционального пакета LibreOffice сценарии на Basic или Python определяют местонахождение встроенной консоли Python.


С помощью макроса Basic

Эта процедура использует модуль класса Platform для определения текущей операционной системы.


        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
            
    

Пример вывода

Интерактивная консоль Python

Другой вариант консоли

В качестве альтернативы можно использовать консоль из расширения APSO:

Консоль APSO

Пожалуйста, поддержите нас!

Пожалуйста, поддержите нас!