Wenn Datei vorhanden ... wenn nicht dann ... ??

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
Topcam
User
Beiträge: 2
Registriert: Montag 23. Februar 2004, 21:09

Hallo .

Ich bin mit dem Thema PYTHON noch nicht ganz auf Du und Du.

Meine Frage:
Was mache ich hier falsch ?????

######Code gelöscht######
#Da hier ja erst gemotzt wird und dann noch nicht mal geholfen wird#

Danke

Topcam

Neue Frage :

wie mache aus eine INT ein Str und anders rum ?
Da mein File was ausgelesen wird nur Zahlen beinhaltet und ich diese mit einer ZAHL Plus nehmen möchte.

Topcam ( besser so ?)
Zuletzt geändert von Topcam am Mittwoch 25. Februar 2004, 06:56, insgesamt 1-mal geändert.
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hi. Tut mir leid wenn ich zuerst meckere, aber darauf muss ich bestehen: Quellcode kommt immer in Codetags des BBCodes. Das ist zwingend für Lesbarkeit und außerdem Vorschrift :roll: :wink:

Gruß, Milan
HarryH
User
Beiträge: 266
Registriert: Freitag 23. Mai 2003, 09:08
Wohnort: Deutschland

Hallo Topcam,
######Code gelöscht######
#Da hier ja erst gemotzt wird und dann noch nicht mal geholfen wird#
Topcam, sieh doch die Kritik von Milan nicht gleich so hart. Es ist nun mal nötig bestimmte Richtlinien einzuhalten. Es profitiert nur jeder davon!

Nun zu deiner anderen Frage:
wie mache aus eine INT ein Str und anders rum ?
int zu string:

Code: Alles auswählen

str(12)
string zu int (geht nartürlich nur mit Zahlenstrings):

Code: Alles auswählen

int("12")
Gruß, Harry
Gast

Danke für Dein Verständnis.

Wenn man mir gesagt hätte, das das einfügen des Codes so geht:

Code: Alles auswählen

#!/usr/bin/python

def datei_lesen (datei):
    try:
        in_file = open(datei,"r")
    # Datei zum Lesen (r: read w: write a: anhängen) öffnen
    except IOError:
        in_file = open(datei,"w")
        in_file.write("1")
        in_file.close()
        return 0
    else:
        zahl = in_file.read() # Datei lesen
   >  int("zahl") #Hier liegt der Hund begraben ??????
   >  C = zahl + 1 #????????????
        in_file= open(datei,"w")
        #in_file.seek(2)
        in_file.write(C)
        in_file.close() # Datei schliessen
        print C      # und Inhalt ausgeben
        return 1


pfad = 'f:/www/labor/' # hier anpassen!
dateiname =  'test.txt' #raw_input('Dateiname eingeben: ')
print '\n\nLese die Datei: ' + dateiname
ergebnis = datei_lesen(pfad+dateiname)
if ergebnis == 1:
   
    print 'Gelesen: ' + dateiname
    print 'Fertig . . . (viewer.py)'

wäre ich ja schon zufrieden gewesen. Da ich nicht der einzigste hier bin
der Code Eintragungen ohne "CODE" "/CODE" gemacht hat.


Jetzt aber noch eine Frage zu meinem Code:
Wie man sieht versuche ich dirch das einlesen die vorhandene Zahl
um 1 zuerhöhen. Wie gehe ich da am besten vor ?


Topcam
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hi. Tut mir wirklich leid und ich mein das oben auch nicht böse, aber als Moderator ist es meine Aufgabe auf das hinzuweisen. Die Regeln existieren auch erst seit kurzen in so klarer Form. Auf dem Link ist ja eigentlich auch zu sehen, wie die tags aussehen, also eigentlich konstruktive Kritik und kein reines rummeckern :wink: .

Aber nun mal weiter im Text: Du musst int die VAriable übergeben und das Ergebniss auch wieder speichern. Schlussendlich musst du aber wieder in einen String zurückwandeln. Du musst also nur deins so hier umschreiben:

Code: Alles auswählen

        zahl = in_file.read() # Datei lesen 
        zahl=int(zahl)
        c=zahl+1
        in_file= open(datei,"w") 
        #in_file.seek(2) 
        in_file.write(str(C))
akIra
User
Beiträge: 49
Registriert: Dienstag 3. Dezember 2002, 12:05
Wohnort: Berlin
Kontaktdaten:

viel spass, und keine Fragen, was denn das für merkwürdige Pfadangaben seien :wink:

Code: Alles auswählen

#!/usr/bin/python 
def datei_lesen (datei): 
    zahl = 1
    try: 
        in_file = open(datei,"r")
        zahl = int(in_file.read()) # Datei lesen
    except ValueError:
        in_file.close()
        return 2
    except IOError: 
        in_file = open(datei,"w") 
        in_file.write(str(zahl)) 
        in_file.close() 
        return 0 
    else: 
        zahl = zahl + 1 #???????????? 
        in_file= open(datei,"w") 
        in_file.write(str(zahl)) 
        in_file.close() # Datei schliessen 
        print zahl      # und Inhalt ausgeben 
        return 1 
pfad = "C:\\"
dateiname = 'test.txt' #raw_input('Dateiname eingeben: ') 
print '\n\nLese die Datei: ' + dateiname 
ergebnis = datei_lesen(pfad+dateiname) 
if ergebnis == 1: 
    print 'Gelesen: ' + dateiname 
    print 'Fertig . . . (viewer.py)'
elif ergebnis == 2:
    print 'Typenfehler !'
else:
    print "Datei",dateiname,"erfolgreich erstellt."
[i]...und ich glaube ich habe eine Zwei gesehen[/i]
Topcam
User
Beiträge: 2
Registriert: Montag 23. Februar 2004, 21:09

Ich danke für die schnelle Hilfe.

Das mit dem Meckern habe ich schon runtergeschluckt.
Kann ja vorkommen.


Topcam
Antworten