Zapis pliku

O1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 40
0

Witam nie mogę sobie poradzić z funkcja asksavefile

Np:
Chodzi o zapis pliku binarnego
Otwieram go bez problemu ale już zapisać to mi nie idzie

Kopiuj
from tkinter import filedialog

#funkcja odczytu pliku i odrazu wali go na listę
data=filedialog.askopenfilename()
plik_bin = bytearray(open(data, 'rb').read())

Przy zapisie nie wiem jak sformułować resztę

Kopiuj
zapis=filedialog.asksaveasfile()
zapis.write(plik_bin)

To nie działa

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
1
Kopiuj
filename = filedialog.askopenfilename()
with open(filename, 'wb') as file:
  file.write(plik_bin)
obscurity
  • Rejestracja: dni
  • Ostatnio: dni
0
Riddle napisał(a):
Kopiuj
filename = filedialog.askopenfilename()
with open(filename, 'wb') as file:
  file.write(plik_bin)

to otworzy "Open Dialog" zamiast "Save Dialog" i nie zapyta na przykład czy nadpisać plik jeśli wybierzemy istniejący.
Użyj asksaveasfilename lub lepiej tak jak robiłeś tylko z odpowiednim mode:

Kopiuj
zapis=filedialog.asksaveasfile(mode='wb')
zapis.write(plik_bin)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.