sh: 1:... Permission denied

  • Hallo ich will alle fotos die in dem Ordner immer löschen wenn das Programm jedes mal neu startet, aber ich kriege immer diese Fehlermeldung. was muss ich ändern ?

    Code
    chmod +x 

    habe ich schon ausgeführt.


    das ist mein code:

    Code
    system('/home/pi/Pictures *.jpg') #delete all photos in the Pictures folder before timelapse start


    Die Fehlermeldung : "

    sh: 1: /home/pi/Pictures: Permission denied"

  • Nach Pictures fehlt ein Slash (/). Dann würdest Du aber trotzdem nur versuchen alle Bilder in dem Verzeichnis auszuführen, was ja Unsinn ist.

    Dir fehlt also noch der Befehl zum löschen der Dateien. Was Du suchst ist der Befehl rm.

    Mit 'rm /home/pi/Pictures/*.jpg' sollte es funktionieren.

    Btw. Statt os.system verwendet man besser subproccess.

  • Das ist das Ergebnis, wenn der User pi sich aus seinem eigenen Homeverzeichnis aussperrt.

    Entweder darf jeder User im /home/pi wühlen (infolge chmod 777), oder der User root legt dort Dateien ab, die der User pi natürlich nicht löschen kann.

    Mit < ls -al /home/pi/timelaps >, < ls -al /home/pi/Pictures > und < ls -al /home/pi > kannst Du Dir Dein Rechtechaos im Home Verzeichnis des Users pi ansehen.

    Servus !

    RTFM = Read The Factory Manual, oder so

  • Hallo,

    es macht grundsätzlich, unabhängig von diesem Problem, Sinn ein Programm betriebssystemunabhängig aufzubauen. Wenn man schon mit Pfade arbeitet bietet es sich an pathlib zu verwenden. Zum einen kann man einfach Pfade ändern/bearbeiten/Dateien löschen und zum anderen könnte man die Funktion auch für weitere Programme wieder verwenden und muss nicht mit Linux-Befehlen rumhantieren.

    Grüße

    Dennis

    🎧 With the music execution and the talk of revolution, it bleeds in me and it goes 🎧

Jetzt mitmachen!

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