[gelöst] Problem beim bearbeiten eines Files

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
basti33
User
Beiträge: 56
Registriert: Donnerstag 24. August 2006, 15:05

Hallo,

ich habe mir mal dieses kleine Skript gebastelt. Ich habe es nur aus dem Grund geschrieben, weil ich herausfinden wollte, wie es möglich ist, ein File zu bearbeiten, dessen Name vom Benutzer angegeben wird.

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-

class datei:
    def __init__(self, name):
        self.name = name
    
    def appendtofile(self, text):
        f = file('/home/basti/Eigene_Dateien/'%s, "a") % self.name
        eingabe=raw_input('Was möchten Sie hineinschreiben? ')
        f.write(eingabe)
        f.close
        
    def readfile(self):
        f = open ('/home/basti/Eigene_Dateien' %s, "r") % self.name
        for inhalt in f.readlines():
            print inhalt
        f.close
        
print '''Wenn Sie ein neues File anlegen bzw. ein existierendes bearbeiten möchten, schreiben Sie bitte "w",
wenn sie ein bestehendes lesen möchten, schreiben Sie bitte "r".
Zum Beenden schreiben Sie "e".'''

weiter=True
while weiter:
    antwort = raw_input('Schreiben Sie bitte, was Sie tun möchten: ')
    if antwort == 'w':
        a = datei(raw_input('Welches File möchten Sie anlegen bzw. bearbeiten? '))
        a.appendtofile(raw_input('Was möchten Sie hineinschreiben? '))
    
    elif antwort == 'r':
        a = datei(raw_input('Welches File möchten Sie auslesen? '))
        a.readfile()
    
    elif antwort == 'e':
        weiter=False
    
    else:
        print 'Den gewünschten Modus gibt es nicht!'
    
Jetzt erhalte ich allerdings immer diese Fehlermeldung
unhandled NameError
"global name 's' is not defined"
Ich nehme mal, dass dieses Problem mit diesem "% Trick" (ich weiß nicht, wie man es offiziell nennt) zusammenhängt.

Kann mir jemand sagen, wie sich mein Vorhaben realisieren lässt?

Danke
Zuletzt geändert von basti33 am Mittwoch 6. September 2006, 13:40, insgesamt 1-mal geändert.
mr.hide
User
Beiträge: 108
Registriert: Montag 29. August 2005, 14:02

diese Zeile

Code: Alles auswählen

f = file('/home/basti/Eigene_Dateien/'%s, "a") % self.name 
muss so lauten

Code: Alles auswählen

f = file('/home/basti/Eigene_Dateien/%s' %self.name  , "a") 
Grüße
Matthias

- Fluchen befreit von Kummer und Leid -
basti33
User
Beiträge: 56
Registriert: Donnerstag 24. August 2006, 15:05

Danke!!
Antworten