Dateien Splitten

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.
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

BlackJack hat geschrieben:Letztendlich ist das aber sowieso nicht wirklich praktikabel da mit einzelnen Zeichen/Bytes zu hantieren. Das dauert viel zu lange. Kopiere die Daten lieber blockweise. Und das auch beim Einlesen. Denn Dein Programm wird Probleme bei grossen Dateien bekommen.
Ich hab versucht auf denen Tipp einzugehen, ich weiß aber nicht ob du es so ungefär gemeint hast:

Code: Alles auswählen

def split(path, size=1024):
   count=0
   f=open(path, 'rb')
   inhalt=f.read()
   f.close()
   helpfile=[name.replace('/', '')+'\n']
   inhalt=inhalt[2: len(inhalt)-1]
   while True:
      if ((count*size)+size)>len(inhalt):
         helpfile.append(name+str(count)+'.spl\n')
         f2=open(pfad+name+str(count)+'.spl', 'wb')
         f2.write(inhalt[count*size: len(inhalt)])
         f2.close(); break
      else:
         helpfile.append(name+str(count)+'.spl\n')
         f2=open(pfad+name+str(count)+'.spl', 'wb')
         f2.write(inhalt[count*size: (count*size)+size])
         f2.close(); count+=1
   f3=open(pfad+name+'Help.hlp', 'w')
   f3.writelines(helpfile)
   f3.close()

def unsplit(pfad):
   f=open(pfad, 'r')
   info=f.readlines()
   f.close(); os.chdir(os.path.dirname(pfad))
   f2=open(os.path.join(os.getcwd(), info[0].replace('\n', '')), 'wb')
   del info[0]
   for datei in info:
      f3=open(os.path.join(os.getcwd(), datei.replace('\n', '')), 'rb')
      f2.write(f3.read())
      f3.close()
   f2.close()
Es gibt ein Problem, der Pfad bei f3, müsste doch stimmen, aber laut der fehlermeldung versucht f3 datei.replace('\n', '') zu öffnen ohne das arbeitsverzeichnis. was ist falsch?
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Benutzeravatar
DaMutz
User
Beiträge: 202
Registriert: Freitag 31. Oktober 2008, 17:25

Py-Prog hat geschrieben:Es gibt ein Problem, der Pfad bei f3, müsste doch stimmen, aber laut der fehlermeldung versucht f3 datei.replace('\n', '') zu öffnen ohne das arbeitsverzeichnis. was ist falsch?
Viel zu viel:
- keine Fehlermeldung
- bei split() hast du sowohl path als auch pfad
- name ist nicht definiert
- das with Konstrukt sollte man verwenden
- was gibt ein print datei.replace('\n', '') aus?
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

Ja ich habs geschaft, lag an den slash beim zusammen setzten und daran das ich beim aufteilen die ersten 2 und das letzte zeichen gelöscht habe! Jetzt müsste ich noch wießen wie ich dateien mit with öffne, hab beim Googeln nichts gefunden. (Jetzt bau ich noch nen GUI und dann ab ins showcase)

DANKE!!!

Ich hab schon gelaubt ich bin zublöd um was zuprogrammieren.
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Benutzeravatar
DaMutz
User
Beiträge: 202
Registriert: Freitag 31. Oktober 2008, 17:25

http://effbot.org/zone/python-with-statement.htm oder hier im Forum wirst du immer wieder dieses Konstrukt sehen...
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

Jetzt muss ich blos noch den GUI bauen, wobei das design wohl das größere problem ist als das programmierern.
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Antworten