file.seek und argumente

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
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Freitag 28. April 2006, 15:45

Code: Alles auswählen

#!/usr/bin/env python
import zipfile, glob, os, bz2
from time import sleep


decision = raw_input("Bitte das Kennwort: ")
if decision == "dassindmeinedateien":

    file = zipfile.ZipFile("timtrautman.dat", "w")

    for name in glob.glob("dateien/*"):
        file.write(name, os.path.basename(name), zipfile.ZIP_DEFLATED)
  

    file.close()
    file = open("timtrautman.dat", "w")
    newfile = file.seek(-1, 2)
    file.write(hhhhhhhhhhhhhhhhhhhh)
    def up(x):
        return chr((ord(x) -4) % 256)
    
    crypted = ""
    #for i in newfile:
    #    crypted = crypted+up(i)

else:
    x = 0
    print "Falsches Passwort"
    while x<10:
        print"\a" 
        sleep(0.01)
        x+=1
Traceback (most recent call last):
File "./Vercoder.py", line 17, in ?
newfile = file.seek(-1, 2)
IOError: [Errno 22] Invalid argument
Wieso nimmt er den Befehl file.seek nicht an?
Was ist an den Argumenten anders, als es sein müsste?
Habe den kleinen Part aus einem Tutorial...
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Freitag 28. April 2006, 17:02

Hi

Weil man in einer leeren Datei nicht eins Rückwärts vom Dateiende suchen kann. Ich denke du möchtest das zweite Mal die Datei mit "r+b" anstatt "w" öffnen (w: write, r+: read/write) und das erste Mal bei zipfile mit "wb".

Das b bedeutet dass es eine binäre Datei ist, was ja das Zipfile ist (keine Textdatei auf jedenfall).

Vielleicht hilft dir das mal, sonst kannst du in der Doku http://docs.python.org/lib/built-in-fun ... t-in-funcs bei file nachlesen was genau die Parameter machen.

Gruss

PS: überschreib mit deinen Variablennamen keine Built-In Funktionen (bei dir ist es file, sieht man auch dem Highlighting an)
Benutzeravatar
Toni83
User
Beiträge: 125
Registriert: Donnerstag 28. Juli 2005, 10:53

Freitag 28. April 2006, 17:06

Wie rayo schon gesagt hat: erst was reinschreiben dann suchen.
Ergänzend noch hier ein Beispiel:

http://www.java2s.com/Code/Python/File/ ... ointer.htm

Gruss,
Toni
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Samstag 29. April 2006, 12:52

Vielen Dank!
Antworten