Ich hab versucht auf denen Tipp einzugehen, ich weiß aber nicht ob du es so ungefär gemeint hast: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.
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()