Python reportlab的canvas对象的正确构造函数方法是什么?
我复制粘贴了reportlab用户指南中的构造函数方法,但它似乎不正确 错误:Python reportlab的canvas对象的正确构造函数方法是什么?,python,reportlab,Python,Reportlab,我复制粘贴了reportlab用户指南中的构造函数方法,但它似乎不正确 错误: encrypt = None ^ SyntaxError: invalid syntax 构造方法: def __init__(self,filename, pagesize=letter, bottomup = 1, pageCompression=0, encoding=rl_config.defaultEncoding, verbosity=0 en
encrypt = None
^
SyntaxError: invalid syntax
构造方法:
def __init__(self,filename,
pagesize=letter,
bottomup = 1,
pageCompression=0,
encoding=rl_config.defaultEncoding,
verbosity=0
encrypt=None):
添加逗号修复了完整代码:
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
class PDF_Hello:
def hello(c):
c.drawString(100, 100, "Hello World")
def __init__(self, filename,
pagesize=letter,
bottomup=1,
pageCompression=0,
encoding=rl_config.defaultEncoding,
verbosity=0,
encrypt = None):
c = canvas.Canvas("hello.pdf")
PDF_object = PDF_Hello("Hello_world.pdf")
PDF_object.hello(c)
c.showPage()
c.save()
在reportlab的用户指南中的印刷错误上添加逗号后更新:
我遇到一个名称错误:编码参数的默认值中没有定义名称“rl_config”,默认情况下,该参数应该工作。函数中的所有参数都必须用逗号分隔,。正如评论中已经提到的那样,在_init__方法中缺少一个用于分隔参数的
您的_init__方法应该如下所示:
def __init__(self, filename, pagesize=letter, bottomup=1, pageCompression=0,
encoding=rl_config.defaultEncoding, verbosity=0, encrypt=None):
如您所见:现在,详细和加密之间有逗号
更多信息来自:
参数列表::=defparameter,defparameter*[,,
[parameter_list_starargs]]| parameter_list_starargs
在这里您可以看到,分隔参数需要一个逗号。示例在verbosity=0行中缺少一个逗号。@user2357112是的,我注意到了,但是文档和一些网站由于某种原因没有逗号。原因是他们犯了一个错误。加逗号。在发表第一条评论之前,我确实查阅了《用户指南》并检查了示例。我遇到的另一个问题是NameError:添加逗号后未定义名称“rl_config”。它位于构造函数方法的编码参数上。为什么会这样?我认为默认值应该按原样工作