Python (aus Wiki)
Python Overview
Mit Python wollte ich mich bisher nicht beschäftigen, weil ich mich nicht verzetteln wollte. Ich habe ja schon PHP als meine Standard-Scriptsprache für das Web und von altersher noch Perl.
Mit Python mache ich jetzt einen Versuch, weil ich immer wieder interessante Dinge finde, die mit Python gemacht sind, z.B. jetzt Pygme für den MPlayer.
Aussderdem habe ich ja gerade Perl bei mir abgeschafft, nachdem ich meine TWiki-Webs (wofür Perl erforderlich ist) auf MediaWiki (wo statt Perl nur PHP erforderlich ist) migriert habe. Schließlich habe ich MediaWiki migriert auf WordPress.
Python als Skript-Sprache
Als Skript-Sprache wird Python von einer ganzen Reihe von Softwares benutzt, beispielsweise von:
- GIMP
- in Microsoft Excel als VBA-Ersatz: https://www.pyxll.com/docs/userguide/vba.html
- Inkscape
- OBS-Studio
- Siril
- Anaconda
- Libre Office
- ansvr
- KStars
- Astrometry
- Photo Polar Align (PPA)
- WordPress
- nodejs
- Paintshop Pro
- xyz
Installation: “Der Python-Interpreter”
- Definitive Software Library ID: Python
- Name: Python
- Version: 3.13.0 (Nov 2024)
- Hersteller / Bezugsquelle: https://www.python.org/downloads/
- Installations-Ordner: C:\Users\rubas\AppData\Local\Programs\Python\Python313\python.exe
- ….
Python Editor / Umgebungen / IDEs
Wenn man mit Python herum experimentieren will, benötigt man zunächst einen Python-Editor (eigentlich eine IDE für Python). Da gibt es eine große Auswahl.
Python wird sehr viel von Prof. Weitz von der Hamburger Hochschule für Angewandte Wissenschaften (früher: Fachhochschule Berliner Tor) verwendet. Herr Weitz empfiehlt ein komplett-Installationspaket z.B. Anaconda. Dann hat man gleich Jupyter Notebooks etc. Jupyter Notebooks hiess früher iPython.
Beliebte Python-IDEs sind z.B.
- PyCharm: https://www.jetbrains.com/pycharm/
- Sublime Text 3: https://realpython.com/setting-up-sublime-text-3-for-full-stack-python-development/
- Anaconda / Jupyter Notebooks: https://www.anaconda.com/products/individual
Python Packages
Mit dem “reinen” Python (dem Python Interpreter) kann man noch nicht soviel anfangen. Man benötigt sehr schnell weitere Python Packages und Python Module.
Wenn man eine der oben genannten Python IDEs installiert, bekommt man häufig den Python-Interprter und normalerweise auch einige “Builtin” Packages gleich mit dazu. Zusätzlich dazu gibt es noch “External Packages” letztere werden auch “Third Party Packages” genannt.
Externe Packages muss man ersteinmal im sog. Python Package Index finden: http://PyPI.org
Anschließend muss man sie lokal installieren; z.B. mit PIP: pip install prettytable
PIP steht für “Package Intstaller for Python”. Den braucht man, um Packages zum Python-Interpreter zu installieren.
Zur Begriffsverwirrung: Ein “Modul” ist eine Python-Datei, ein Python-Package ist eine Sammlung von mehreren Python-Modulen.
PyCharm: Eine sehr verbreitete Python IDE
Die IDE PyCharm holen wir uns aus dem Internet:
: https://www.jetbrains.com/pycharm/
In der IDE PyCharm werden sog. “Projekte” gemacht. Zu so einem Projekt wird ein Python-Interpreter und Python-Packages (s.u.) zugeordnet.
Python Tutorials
Auf Youtube gibt es einfache Einführungen in das Thema Python auf meinem Windows-Computer…
Ganz einfach geht es mit: Learn Python in 1 hour:
- Download Python: http://python.org
- Download Python CodeEditor: “PyCharme” http://jetbrains.com/pycharme
Wir brauchen also zunächst einen Python Interpreter und dann einen Python CodeEditor.
Im Python CodeEditor müssen wir den zu verwendenden Python Interpreter angeben damit wir den Code auch ausführen können.
Bei PyCharme geht das einfach ganz unten in der Statuszeile…
Noch mächtiger sind Jupyter Notebooks:
- Download Acaconda Python: https://www.anaconda.com/products/distribution
Viele hilfreiche Beispiele von Jupyter Notebooks findet man bei:
- https://github.com/python/python/A-gallery-of-interesting-Jupyter-notebooks
- https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks
- Dort z.B. unter: “Introductory Tutorials”, “Collection of Notebooks”. Examples: “Trapezoid Rule”
Python for Astronomie
Als ein erstes Beispiel möchte ich die Metadaten aus den FITS-Dateien auslesen, die meine Astro-Kamera ASI294MC Pro macht.
Zur Bearbeitung von FITS-Dateien finde ich in der Library astropy das Package astropy.io.fits.
Dokumentation dazu: https://docs.astropy.org/en/stable/io/fits/
Vorher noch: pip install prettytable
Mein erstes Python-Programm:
from astropy.io import fits
from pathlib import Path
from prettytable import PrettyTable
pt = PrettyTable()
pt.field_names = ["File name", "Camera", "Created", "Exposure", "Gain"]
pt.align["File name"] = "l"
Ordner = 'C:/Data/APT/CameraCCD_1/2022-06-07'
p = Path(Ordner)
print("FIT-Dateien im Ordner: " + Ordner)
for f in p.glob('*.fit'):
d = f.parent
dateiname = f.name
hdul = fits.open(f)
datum = hdul[0].header['DATE-OBS']
belichtungszeit = hdul[0].header['EXPTIME']
gain = hdul[0].header['GAIN']
instrument = hdul[0].header['INSTRUME']
# print(dateiname, instrument, datum, belichtungszeit, gain)
pt.add_row([dateiname, instrument, datum, belichtungszeit, gain])
hdul.close()
print(pt)