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.