Interaktivna lupina Python

Vsebina
Kazalo 🔎︎

# 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 LibreOfficeDev Python lahko pridobite v terminalu.

V polno nameščenem pisarniškem paketu LibreOfficeDev 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 LibreOfficeDev, 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č LibreOfficeDev za skripte v jeziku Python

Funkcija PythonShell v storitvi ScriptForge.Exception