Pythonversion: 3.1(.1)
Getestet unter: Windows (XP Home SP3)
Code: Alles auswählen
import tkinter, os, os.path
import tkinter.filedialog
import tkinter.messagebox
import tkinter.simpledialog
os.chdir(os.path.join(os.path.expanduser('~'), 'Desktop'))
def split():
path=tkinter.filedialog.askopenfilename()
size=int(tkinter.simpledialog.askstring('Filespliter', 'Bitte maximal größe in Megabyte angeben:'))
if size<1024:
size=1024
else:
size=size*1024**2
path2=os.path.dirname(path)
name=path.replace(path2, '')
count=0
try:
with open(path, 'rb') as f:
inhalt=f.read()
f.close()
helpfile=[name.replace('/', '')+'\n']
if tkinter.messagebox.askyesno('Filespliter', 'Sollen die dateien in einen anderen Verzeichnis gespeichert werden?'):
path2=tkinter.filedialog.askdirectory()
while True:
if ((count*size)+size)>len(inhalt):
helpfile.append(name+str(count)+'.spl\n')
with open(path2+name+str(count)+'.spl', 'wb') as f2:
f2.write(inhalt[count*size: len(inhalt)])
f2.close(); break
else:
helpfile.append(name+str(count)+'.spl\n')
with open(path2+name+str(count)+'.spl', 'wb') as f2:
f2.write(inhalt[count*size: (count*size)+size])
f2.close(); count+=1
with open(path2+name+'Help.help', 'w') as f3:
f3.writelines(helpfile)
f3.close()
except IOError:
tkinter.messagebox.showerror('Filespliter Fehler', 'Ein fehler ist aufgetreten, datei konnte nicht gesplitet werden.')
def unsplit():
types = [('Informationsdatei',"*.help")]
path= tkinter.filedialog.askopenfilename(filetypes=types)
if tkinter.messagebox.askyesno('Filespliter', 'Soll die Datei in einem anderen Verzeichnis erstellte werden?'):
path=tkinter.filedialog.asksavefilename()
try:
with open(path, 'r') as f:
info=f.readlines()
f.close(); os.chdir(os.path.dirname(path))
with open(os.path.join(os.getcwd(), info[0].replace('\n', '')), 'wb') as f2:
del info[0]
for datei in info:
with open(os.path.join(os.getcwd(), datei.replace('\n', '').replace('/', '')), 'rb') as f3:
f2.write(f3.read())
f3.close()
f2.close()
except IOError:
tkinter.messagebox.showerror('Filespliter Fehler', 'Ein fehler ist aufgetreten, datei konnte nicht zusammengefügt werden.')
window=tkinter.Tk()
window.title('Filespliter')
window.geometry('500x30')
menubar=tkinter.Menu(window)
menu=tkinter.Menu(menubar)
menu.add_command(label='Splitten', command=split)
menu.add_command(label='Zusammenfügen', command=unsplit)
menu.add_separator()
menu.add_command(label='Beenden', command=exit)
menubar.add_cascade(label='Datei', menu=menu)
window.config(menu=menubar)
tkinter.Label(window, text='Mit diesem Programm kann man Dateien Splitten und wieder zusammenfügen.').place(relx=0.2, rely=0.3)
tkinter.mainloop()
Oh und noch ein ganz fettes Danke an alle die mir geholfen haben!!!