Python Skript, welches File schreiben soll autostarten? (rc.local)

  • Hallo Zusammen,

    Mein aktuelles Projekt ist ein Koffer mit diversen Sensoren, welche ihre gesammelten Daten als xlcx file speichern sollen.

    Hierfür verwende ich die XlcxWriter library in Python3.

    Da der Sensorkoffer mobil eingesetzt werden soll, muss das Pythonscript beim Booten automatisch gestartet werden.

    Hierzu habe ich die entsprechenden Befehle in rc.local eingebunden.

    RaspberryPi4B 4GB

    Raspbian Version: Linux10 buster

    Code
    _IP=$(hostname -I) || true
    if [ "S_IP" ]; then
        printf "My IP address is %s\n" "S_IP"
    fi
    
    cd /home/pi/Desktop/HierSollDasFileHin &
    sudo python /home/pi/Sensorskript.py &
    
    exit0

    Leider schreibt das Skript beim Aufruf via Autostart keine Files mehr.(beim Aufruf übers LX Terminal funktioniert es)

    Generell läuft das Programm aber fehlerfrei weiter. (schreibt halt nur keine Files)

    Ich erspare euch jetzt mal meinen Wust aus 3000 Zeilen Code, da ich das Problem auch im einfachen Maßstab reproduziert bekomme.

    Hier mal die die wesentlichen Zeilen des Codes:

    Code
    import xlsxwriter
    
    workbook = xlsxwriter.Workbook("testMappe.xlsx") #Arbeitsmappen Objekt erstellen
    
    worksheet1 = workbook.add_worksheet() #Blatt in Excel erstellen
    worksheet1.write("A1", "Banane")
    worksheet1.write("B2", "Osterhase")
    worksheet1.write("C3", "Schokodöner")
    
    workbook.close() #Arbeitsmappe schließen und speichern

    Kann mir jemand einen hint geben warum ein via autostart aufgerufenes Python Programm keine files schreiben kann?

    Muss man dem Skript eine Art Berechtigung zum Schreiben geben oder muss ich etwas in meinen Code einbauen?

    Ich freue mich über jeden Hinweis! :)

    Liebe Grüße

    Kai


    edit: PS: Ich freue mich darauf euch das fertige Projekt in Zukunft mal vorzustellen :)

    drei Mal lebenslänglich für Pimord

    Einmal editiert, zuletzt von KaiDieSeegurke (13. Oktober 2021 um 15:06)

  • Python Skript, welches File schreiben soll autostarten? (rc.local)? Schau mal ob du hier fündig wirst!

  • hyle Ah, auch in den xlsxwriter Methoden.

    Hat funktioniert. Vielen Dank für die schnelle Hilfe! :)

    Für zukünftige Leser hier die Korrektur:

    Code
    import xlsxwriter
    
    workbook = xlsxwriter.Workbook("/home/pi/Dektop/Gummibär/testMappe.xlsx") #Arbeitsmappen Objekt erstellen
    
    worksheet1 = workbook.add_worksheet() #Blatt in Excel erstellen
    worksheet1.write("A1", "Banane")
    worksheet1.write("B2", "Osterhase")
    worksheet1.write("C3", "Schokodöner")
    
    workbook.close() #Arbeitsmappe schließen und speichern

    drei Mal lebenslänglich für Pimord

Jetzt mitmachen!

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