Найти - Пользователи
Полная версия: Ошибка "a bytes-like object is required, not 'str'
Начало » Python для новичков » Ошибка "a bytes-like object is required, not 'str'
1
MrAlexeyGlukhov
Уважаемые эксперты.
Прошу подсказать! Цель собрать *.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
py.user.next
Там как минимум надо везде wb поставить вместо w. Не факт, что это поможет. А лучше всего выводить на экран содержимое того, что ты писать собираешься. Там ты можешь увидеть, что пишется совсем не то, что ты ожидаешь.

Так что для начала посмотри, что возвращает img2pdf.convert(), просто выводя это на экран.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB