Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 3, 2020 17:15:46

MrAlexeyGlukhov
Зарегистрирован: 2020-09-03
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка "a bytes-like object is required, not 'str'

Уважаемые эксперты.
Прошу подсказать! Цель собрать *.jpg файлы в один *.pdf файл.
Программа выдает ошибку, пишет что требуется байтовый объект, а не стринговый.
Ниже я прикрепил два варианта программы. Ошибка одна и таже. Я пробовал использовать и ‘wb’,
и переводить в байты. Одно и тоже. Visual Code пишет ошибка в строке ( f.write(img2pdf.convert()) или во втором примере в convert=img2pdf.convert(JpgFile))
Как правильно сделать запись, что бы работало. Да файл *.pdf при этом создается, но нулевого размера.

    
import os, img2pdf, sys
with open(f'//Server/testJPG.pdf', 'w') as f:
     f.write(img2pdf.convert([i for i in os.listdir('//Server/') if i.endswith('.JPG')]))
filewrite=os.open('img.pdf', 'w')
filewrite.write(f)
filewrite.close()[/b]
         
for JpgFile in os.listdir('//Server/'):
    if JpgFile.endswith('.JPG'):
        convert=img2pdf.convert(JpgFile)
print(JpgFile)
file=open('//Server/АгрегатнаяРТС.pdf', 'w')
file.write(convert, 'wb')
file.close()

С уважением MrAlexeyGlukhov

Отредактировано FishHook (Сен. 3, 2020 17:23:08)

Прикреплённый файлы:
attachment JPGtoPDF.py (487 байт)

Офлайн

#2 Сен. 4, 2020 05:33:29

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Ошибка "a bytes-like object is required, not 'str'

Там как минимум надо везде wb поставить вместо w. Не факт, что это поможет. А лучше всего выводить на экран содержимое того, что ты писать собираешься. Там ты можешь увидеть, что пишется совсем не то, что ты ожидаешь.

Так что для начала посмотри, что возвращает img2pdf.convert(), просто выводя это на экран.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version