当我想使用 python 报告实验室保存 pdf 时,在使用带有非 ASCII 字符的路径时遇到麻烦



我写了一些简单的函数来从ReportLab生成PDF,但是当路径是非ASCII(例如中文)时,会出现问题UnicodeDecodeError: 'utf8' codec can't decode byte 0xd0 in position 3: invalid continuation byte。 当路径都是ASCII时,一切都很好。

我的代码非常简单,就像

from reportlab.lib.pagesizes import letter, A4, landscape  
from reportlab.platypus import SimpleDocTemplate, Image  
from reportlab.lib.units import inch  
from reportlab.pdfgen import canvas
from reportlab import rl_settings
import reportlab.lib.pagesizes
filename_pdf = path + path.split('/')[-2]+'.pdf'
c = canvas.Canvas(filename_pdf, pagesize=maxsize )
#some code
c.save()
filename_pdf = filename_pdf.decode('gbk','ignore')

最新更新