Python 3. Używam widgetu pliku QT do zapisywania plików PDF pobranych z Internetu. Czytałem plik przy użyciu "otwartego" i próbuję go zapisać za pomocą widżetu okna pliku. Jednak korzystałem z "TypeError:" _io.BufferedReader "nie obsługuje interfejsu bufora" błąd.Python zapisujący pliki binarne, bajty
Przykładowy kod:
with open('file_to_read.pdf', 'rb') as f1:
with open('file_to_save.pdf', 'wb') as f2:
f2.write(f1)
Ta logika działa prawidłowo z plikami tekstowymi, gdy nie jest używany „b” oznacznik lub podczas czytania pliku z sieci, jak z urllib lub żądań. Są one typu 'bytes', które, jak sądzę, muszę otwierać plik jako. Zamiast tego otwiera się jako buforowany czytnik. Próbowałem bajtów (f1), ale otrzymałem "TypeError:" obiektu bajtów "nie można interpretować jako liczby całkowitej." Jakieś pomysły?
Po prostu spróbuj - 'data = lista (f1.read())' i 'f2.write (dane)' – karthikr
'lista' ewidentnie nie obsługuje również interfejsu bufora. –