Jetzt möchte ich, dass das OS wenn es zum allerersten mal
gestartet wird, dieses Pythonscript ausführt, beim nächsten
Start des OS, soll es nicht mehr ausgeführt werden. Wie kann
ich sowas unter Linux machen?
Meiner Meinung nach wäre die einfachste Methode folgenden Code an den Anfang des Python-Scripts zu setzen:
import os,sys
#Definiere einen Dateinamen, der angibt, ob das Script schon einmal gestartet wurde
#.at\_least\_second\_run ist dabei nur ein Beispielname. Kann also nach belieben geändert werden.
#P.S.: Wenn z.B. der ausführende Benutzer "testuser" heisst, wäre der komplette Dateiname "/home/testuser/.at\_least\_second\_run"
fname=os.path.join(os.getenv("HOME"),".at\_least\_second\_run")
#Überprüfe ob die Datei existiert. (Wenn Ja, wurde das Script schon einmal gestartet und wird sofort beendet.)
if os.path.exists(fname):
#Beende das Script.
sys.exit(0)
#Script wurde zuvor noch nicht gestartet.
#Erstelle die Datei, damit das Script beim nächsten ausführen sofort
beendet wird.
open(fname).close()
#...
#Hier der ganze Rest des Scripts...
#...
Noch als Randfrage, wie kann ich Pypy statt CPython, als
Interpreter in meiner Anwendung nutzen?
Für gewöhnlich reicht es dafür aus wenn die erste Zeile im Script
#!/usr/bin/env pypy
lautet. (Vorrausgesetzt, das Script wird mit /pfad/zum/script.py o.ä. aufgerufen.)
P.S.: Sollte noch irgendetwas unklar sein, einfach nachfragen…