Vsebina

# Zagon interaktivne konzole Python

Interaktivna konzola Python, znana tudi kot tolmač Pythona ali lupina Python, programerjem ponuja hitro pot do izvajanja ukazov in preizkušanja kode, ne da bi ustvarjali datoteko. Introspekcijo predmetov UNO ter dokumentacijo modulov LibreOffice Python lahko pridobite v terminalu.

V polno nameščenem pisarniškem paketu LibreOffice uporabite Basic ali Python:

## Uporaba makra v jeziku Basic

            Sub interpreter_console
                Const UNIX = 4
                ps = CreateUnoService("com.sun.star.util.PathSettings")
                install_path = ConvertFromURL(ps.Module)
                cmd = IIF(GetGuiType()=UNIX,"x-terminal-emulator -e ","")
                Shell(cmd + install_path + GetPathSeparator() + "python" )
            End Sub

## Uporaba makra v jeziku 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

### Primer izhoda

## Uporaba terminala

Iz kopije LibreOffice, vključene v platformo GNU/Linux, uporabite terminal, kot je prikazano spodaj:

Ukaza v terminalu whereis in type pomagata poiskati interaktivno konzolo 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:~$

## Nadomestna konzola

Uporabite konzolo razširitve APSO (Alternative Python Script Organizer) kot alternativo:

Podobne teme

Primeri programov v Pythonu

Pomoč LibreOffice za skripte v jeziku Python

Funkcija PythonShell v storitvi ScriptForge.Exception