Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python reportlab的canvas对象的正确构造函数方法是什么?_Python_Reportlab - Fatal编程技术网

Python reportlab的canvas对象的正确构造函数方法是什么?

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

我复制粘贴了reportlab用户指南中的构造函数方法,但它似乎不正确

错误:

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”。它位于构造函数方法的编码参数上。为什么会这样?我认为默认值应该按原样工作