Fehlermeldung beim Speichern .txt

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hi,

    bringt folgende Meldung


    Hat jemand eine Idee was das zu bedeuten hat? Eigentlich hatte ich mir schon mal was gespeichert.

    Rede wenig, rede wahr, trinke mäßig, zahle bar.:angel:

  • dbv: Er verwendet aber kein os.open ... ;)

    Allerdings bezieht sich die Fehlermeldung eindeutig nicht auf den Code den er gepostet hat! In der Fehlermeldung steht f = open("daten.txt", "w") aber in seinem Code steht f = open("00.txt", "w") :-/


    PS: Wo man open verwendet muss man auch close nutzen, sonst funktioniert beim 100xxx sten Aufruf irgendwann nix mehr


    //EDIT: Funktioniert problemlos:

    Python
    #!/usr/bin/python
    
    
    def speichern(msg):
            f = open("bla.txt","w")
            f.write(msg)
            f.close()
    
    
    speichern("blah!")
  • ja das habe ich tatsächlich, weil ich das vorhin gesehen hatte im Zusammenhang mit Ordner erstellen.

    ja den Namen hatte ich hier vorhin geändert... dazu braucht nicht spekuliert werden..

    dbv hatte da schon recht mit seiner Vermutung!

    das close werde ich bestimmt dennoch mit nutzen.

    Kann ich dem eigentlich auch einen Pfad zuweisen??

    Ich hätte das gerne in der Art:

    Aber da bringt er auch einen Fehler.. permission denied.. der Ordner ist aber erstellt..

    Rede wenig, rede wahr, trinke mäßig, zahle bar.:angel:

  • Selbstverständlich kannst du einen Pfad nutzen, einfach da wo du den Open aufrufst

    Wenn du kein Englisch kannst dann nutze bitte einen Translator... "Permission Denied" hat nichts mit Python zu tun.

    Bevor ich hier nun über ein weiteres Problem rede würd ich gerne wissen was mit dem Problem aus dem 1.Beitrag ist :huh: wurde das nun gelöst? Wenn ja woran lags?

  • hatte ich schon geschrieben das dbv mit seiner vermutung richtig lag... damit ist das problem erledigt


    Nur was am Rande:

    Ich würde Daten lieber mit der ''with'' Anweisung öffnen und verarbeiten:

    Code
    with open('daten.txt', 'r') as f:
        read_data = f.read()

    wieso?


    Selbstverständlich kannst du einen Pfad nutzen, einfach da wo du den Open aufrufst

    so wie in dem Beitrag über deinem Post??

    Rede wenig, rede wahr, trinke mäßig, zahle bar.:angel:

    Einmal editiert, zuletzt von Kornfeld (22. September 2014 um 14:19)

    • Offizieller Beitrag

    Weil das with Statement sich auch um das abschliessende Close kümmert.

    Zitat von aus der doku

    . This has the advantage that the file is properly closed after its suite finishes, even if an exception is raised on the way. It is also much shorter than writing equivalent try-finally blocks:

  • Welches Problem ist erledigt?

    Ich hab schon mitgekriegt was dbv, du danach und ich zuvor geschrieben haben ... Aber was hat das mit dem Problem aus dem 1.Beitrag zu tun :huh:
    Du hast offensichtlich bereits vor dem erstellen des 1.Beitrags diese "Vermutung" von dbv verwendet - ergo hat die "Klärung" diesbezüglich nichts mit dem Problem ansich zu tun!


    *shrug*

    so wie in dem Beitrag über deinem Post??

    Das eine hat mit dem anderen nichts zu tun. Du kriegst eine Fehlermeldung " Permission Denied " ... BITTE frage dein Englisch-Übersetzer was das bedeutet bevor du jetzt noch ein Post diesbezüglich erstellst!

  • für Meigrafd:

    Das 1. Problem ist durch das entfernen des Wildcard imports erledigt.

    Das zweite Probleme entsteht durch die Zuweisung des Pfades... wenn ich es wie in dem nachträglich geänderten starte..

    hier dieser nochmal..

    Rede wenig, rede wahr, trinke mäßig, zahle bar.:angel:

  • dbv: Noch mal kronologische Zusammenfassung:

    • Erst erstellt Kornfeld einen Thread+Beitrag mit einer Fehlermeldung
    • Dann postest du eine Frage ob er "from os import *" verwendet.
    • Daraufhin antwortet Kornfeld: dbv hatte da schon recht mit seiner Vermutung!
      Und postet anschließend eine weitere Codezeile die fast so aussieht wie die aus dem 1.Beitrag, wo aber nun ein anderes Problem auftritt

    Wenn Er also Deine Vermutung, dass Er "from os import *" verwendet, einfach nur bestätigt - wo wurde das Problem dann bitte behoben bzw gelöst bzw wodurch?


    Aber was auch immer - ich klinke mich hier aus, wird mir zu blöd

  • okay.. ich habe das probiert.. es kommt aber trotzdem noch folgende Meldung... hat das was mit Rechten zutun?!

    File "/Programme/Blut.py, line 280, in speichern
    with open(Pfad + %s.txt" % Name, "w" as f:
    IOError: [Errno] Permission denied: '/home/pi/Desktop/Werte/Name.txt'

    Rede wenig, rede wahr, trinke mäßig, zahle bar.:angel:


  • okay.. ich habe das probiert.. es kommt aber trotzdem noch folgende Meldung... hat das was mit Rechten zutun?!

    File "/Programme/Blut.py, line 280, in speichern
    with open(Pfad + %s.txt" % Name, "w" as f:
    IOError: [Errno] Permission denied: '/home/pi/Desktop/Werte/Name.txt'

    Glaube eher, dass mit der Pfadangabe/Zusammensetzung was nicht stimmt.

    Code
    PFAD = "/home/pi/Desktop/Werte/"
    with open(PFAD + '%s.txt' % Name, 'w') as f:
        f.write("Test")

    EDIT zum hundertsten mal:
    mit und ohne root geht es:

  • und was hat das mit dem Code zutun? ich mein auf /home/pi/ .. also ohne Pfadangabe legt er es ab... aber so nicht..
    was das rein übersetzt heißt weiß ich

    oder war das ein ja zu den Rechten? denn dann funktioniert es...

    dort waren einfach keine schreibrechte für andere nutzer..

    Rede wenig, rede wahr, trinke mäßig, zahle bar.:angel:

    Einmal editiert, zuletzt von Kornfeld (22. September 2014 um 15:24)

  • Kein Zugriff = Rechteproblem.

    ich denke eher "keine schreibrechte für den ausführer des scripts"

    root hätte überall das recht, es sei denn diese wurden explizit entfernt. aber wenn das verzeichnis mit sudo bzw als root erstellt wurde, haben andere benutzer kein schreibrecht

Jetzt mitmachen!

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