Computer: Python (aus Wiki)

Python (aus Wiki)

Gehört zu: Scriptsprachen

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.

Python Editor / Umgebungen / IDEs

Wenn man mit herum expermentieren 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.

MIt dem “reinen” Python kann man noch nicht soviel anfangen. Man benötigt sehr schnell weitere “Packages”.
Wenn man eine der oben genannten Python IDEs installiert, bekommt man häufig das Python selbst und normalerweise auch einige “Builtin” Pakete 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. pip install prettytable

Zur Begriffsverwirrung: Ein “Modul” ist eine Python-Datei, ein Python-Package ist eine Sammlung von mehreren Python-Modulen.

Python als Skript-Sprache

Als Skript-Sprache wird Python von einer ganzen Reihe von Softwares benutzt, beispielsweise von:

Installation: “Reines Python”

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:

  • Mosh Hamedani: https://www.youtube.com/watch?v=kqtD5dpn9C8
  • Download Python: http://python.org
  • Download Python CodeEditor: “PyCharme”  http://jetbrains.com/pycharme

Noch mächtiger sind Jupyter Notebooks:

Viele hilfreiche Beispiele von Jupyter Notebooks findet man bei:

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 = 'D:/Data/APT_Images/CameraCCD_1/2020-11-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)

 

xyz