Python bruges i øvrigt som makrosprog i mange open source programmer, f.eks. Inkscape, Gimp og LibreOffice.
Når du downloader og installerer LibreOffice, får du helt automatisk et Python afviklingsmiljø med i pakken.
Python i LibreOffice
Hvis du programmerer makroer i LibreOffice Basic, benytter du den indbyggede IDE (integrated Development Environment), men til Python må du selv vælge hvilket udviklingsmiljø du gerne vil bruge. Der er mange at vælge imellem. Geany, PyCharm og Eclipse er bare eksempler.Der er tre ting du skal være opmærksom på, inden du går i gang:
- Pythonfilen skal være placeret i dit brugerkatalog under user/Scripts/python/ eller en folder derunder. På min PC er det her: /home/leif/.config/libreoffice/4/user/Scripts/python
- Den makro (Python-funktion) du gerne vil stille til rådighed i LibreOffice brugergrænsefladen skal "udstilles" ved at tilføje navnet til Tuple-variablen g_exportedScripts.
- For at tilgå dokumentobjekter i LibreOffice skal du benytte XSCRIPTCONTEXT ved at kalde en af funktionerne getDocument (), getInvocationContext (), getDesktop (), getComponentContext (). Når først du har gjort det, kan du tilgå LibreOffice ad bagvejen, altså programmere makroer.
# -*- coding: utf-8 -*-
# !/usr/bin/env python
import uno
def HelloWorld():
"""Write Helo World in Writer"""
try:
ctx = remote_ctx # use in development
except:
ctx = uno.getComponentContext() # use in production
# get desktop
desktop = ctx.getByName("/singletons/com.sun.star.frame.theDesktop")
# get document
document = desktop.getCurrentComponent()
# access the document's text property
text = document.Text
# create a cursor
cursor = text.createTextCursor()
# insert the text into the document
text.insertString(cursor, "Hello World", 0)
HelloWorld()
g_exportedScripts = HelloWorld,
Du kan læse mere om Python i LibreOffice her: https://help.libreoffice.org/6.3/en-US/text/sbasic/python/main0000.html
Du kan læse mere om XSCRIPTCONTEXT her: https://wiki.openoffice.org/wiki/Python/Transfer_from_Basic_to_Python
Der er masser af muligheder på internettet for at lære programmering med Python. Du kan f.eks. tage et komplet kursus på Massachusetss Institute of Technology (MIT) helt gratis: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/