Python hilfe, cmd command

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hey Freunde, ich will ein eingebbares command für die cmd machen!
    Aus folgendem Code:

    Python
    import RPi.GPIO as GPIO
    from pizypwm import *
    
    
    pwm = PiZyPwm(100, 7, GPIO.BOARD)
    
    
    pwm.start(20)

    So das sollen jetzt Befehle in der cmd werden.
    Also z.B. "start-pwm 100(frequenz) 7(pin) 20(prozent)"

    Wie mache ich das ganze, das ich nacher sowas einfach in die cmd eingebe und das (^^) dann ausgeführt wird?

    Und pwm.stop() soll man auch als Befehl haben...

    Danke schonmal!

    • Offizieller Beitrag

    etwas verwirrend geschrieben :denker:

    du willst also wenn du z.b.

    Code
    python start_pwm.py -f 100 -p 7 -pr 20

    deine Argumente im code übernommen werden, richtig? dann ist argparse das was du suchst.

    [code=php]
    import argparse
    import RPi.GPIO as GPIO
    from pizypwm import *
    parser = argparse.ArgumentParser()
    parser.add_argument('-f','--frequenzy', help='Frequenzy', required=True)
    parser.add_argument('-p','--pin', help='Pin that u want to use', required=True)
    parser.add_argument('-pr','--procent', help='Procent', required=True)
    args = parser.parse_args()
    pwm = PiZyPwm(args.frequenzy, args.pin, GPIO.BOARD)
    pwm.start(args.procent)
    [/php]

    Ist jetzt aus dem Kopf geschrieben, könnte aber klappen ;)

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

    Einmal editiert, zuletzt von dbv (23. Oktober 2013 um 18:38)

  • Ich glaube er möchte einfach einen Befehl via CMD ausführen, dem er einige Parameter mitgeben kann.

    Eine Möglichkeit, die ich auf die Schnelle gefunden hab:
    Dafür musst du ein entsprechendes Skript schreiben, das in etwa so aussieht:

    Das speicherst du zum Beispiel unter pwm-start.py und machst es noch ausführbar mit

    Code
    chmod +x pwm-start.py


    Anschließend verschiebst du es in den Ordner /usr/bin.

    Jetzt kannst du es von überall mit dem folgenden Code ausführen:

    Code
    pwm-start.py [Frequenz] [Pin] [Prozent]


    Bitte beachte aber, dass dieses Skript sehr "klein" gehalten ist, also kein Fehler-Handling mit implementiert hat, wenn zum Beispiel ein Argument fehlt. ;)

    Man sollte nie schneller klicken, als man denken kann... :thumbs1:

    Einmal editiert, zuletzt von Zoidberry (23. Oktober 2013 um 19:47)

  • Und bevor man das Fehlerhandling selbst macht, sollte man sich argparse anschauen. Siehe oben. Ist ziemlich gut dokumentiert und leicht umzusetzen.

    Über direkten Zugriff auf die args ärgert man sich spätestens bei der ersten Erweiterung.

Jetzt mitmachen!

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