Script Python wie startet man das Script

  • Guten Morgen. Ich habe ein Script geschrieben. Für ein LCD Display 16x02. Meine Frage ist wie startet man das Script das es auf dem Display erscheint?
    Vielen Dank.
    Automatisch zusammengefügt:
    Wen ich das Script ausführen will im Terminal steht keine Berechtigung. kann mir jemand sagen wie ich die Berechtigung bekomme?? vielen Dank.

    Einmal editiert, zuletzt von Mischa (19. Mai 2016 um 12:20)

    • Offizieller Beitrag

    gestartet wird das Script entweder per

    Code
    python script.py
    #oder
    python /pfad/zum/script.py

    oder, wenn die erst Zeile ne passende Shebang hat und das Scruipt auch ausführbar ist per

    Code
    #ausführbar machen
    chmod x script.py
    #ausführen
    ./script.py
    #oder
    /pfad/zum/script.py
  • Also erst mal muss man folgendes beachten:

    Die Datei ist erst mal nur eine ganz normale Textdatei in der irgend was drin steht. Der Text in der Datei ist in diesem Fall die Programmiersprache Python, die Datei kann also nur ein 'Interpreter' verarbeiten der auch Python versteht.

    Nun gibt es die Möglichkeit, Entweder:

    • Die Datei direkt dem Interpreter zu übergeben.
    • Einen Shebang setzen und die Datei ausführbar zu machen.

    zu 1.:
    Die Erste Möglichkeit hat dbv bereits vortrefflich beschrieben:

    Code
    python script.py
    #oder
    python /pfad/zum/script.py


    Bei ersterem wechselt man zuvor in das Verzeichnis wo die Datei liegt.
    Bei zweitem gibt man den absoluten Pfad der Datei an.


    zu 2.:

    Die Zweite Möglichkeit funktioniert nur in Kombination! Man muss also den absoluten Pfad zum Interpreter in Form von

    Python
    #!/usr/bin/python

    oder

    Python
    #!/usr/bin/python3

    ...angeben UND die Datei mit Ausführrechten ( execute ) versehen.
    Vergisst man eins von beidem funktioniert es nicht!
    Sind diese Bedingungen erfüllt kann man das Script direkt ausführen:

    Code
    ./script.py
    #oder
    /pfad/zum/script.py

    Bei dem ersten brauch man einfach nur wissen dass das aktuelle Verzeichnis als "." gilt, einfach mal "ls -la" eingeben dann sieht man ein mal "." und ein mal ".." - das erste ist das aktuelle das zweite das übergeordnete.
    Das zweite sollte klar sein.


    Man kann aber auch beide Möglichkeiten mischen:
    - Auch wenn die Datei ein Shebang besitzt und ausführbar ist, kann man sie trotzdem einem Interpreter übergeben und sogar einem anderen, wenn also der Shebang auf python3 zeigt kann man die Datei auch dem python2 Interpreter übergeben ...


    Nun gäbe es aber evtl. noch eine Besonderheit:

    um GPIO's schalten zu können bedarf es entsprechender Rechte. Normalerweise ist Raspbian so eingerichtet das der Benutzer "pi" auf die GPIO's eigentlich uneingeschränkt zugreifen darf. Manchmal geht das aber doch nicht, dann muss man das Script mithilfe von sudo als root ausführen, denn root darf alles :fies:


  • gestartet wird das Script entweder per

    Code
    python script.py
    #oder
    python /pfad/zum/script.py

    oder, wenn die erst Zeile ne passende Shebang hat und das Scruipt auch ausführbar ist per

    Code
    #ausführbar machen
    chmod x script.py
    #ausführen
    ./script.py
    #oder
    /pfad/zum/script.py


    Hallo ich hab da noch eine kleine Frage. Bei mir zeigt es das an wen ich das Script ausführen will siehe Bild. Kann das sein das dass Script nicht Korrekt ist? Freundliche Grüsse Mischa
    Automatisch zusammengefügt:
    sorry für die Bild Drehung ;)


  • Hallo ich hab da noch eine kleine Frage. Bei mir zeigt es das an wen ich das Script ausführen will siehe Bild. Kann das sein das dass Script nicht Korrekt ist? Freundliche Grüsse Mischa
    Automatisch zusammengefügt:

    sorry für die Bild Drehung ;)


    Was steht denn in dem Sript?


  • Hallo ich hab da noch eine kleine Frage. Bei mir zeigt es das an wen ich das Script ausführen will siehe Bild. Kann das sein das dass Script nicht Korrekt ist? Freundliche Grüsse Mischa
    Automatisch zusammengefügt:

    sorry für die Bild Drehung ;)


    Wie genau hast du die Datei auf den Pi transferiert bzw das Script erstellt?

    Ich habe es in Python 2 geschrieben und gespeichert.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!