UnboundLocalError: local variable referenced before assignment

danieldelay danieldelay at gmail.com
Tue Jun 8 14:59:08 EDT 2010


Le 08/06/2010 10:03, ch1zra a écrit :
> import os, time, re, pyodbc, Image, sys
> from datetime import datetime, date, time
> from reportlab.lib.pagesizes import A4
> from reportlab.lib.units import cm
> from reportlab.pdfgen import canvas
> from reportlab.pdfbase import pdfmetrics
> from reportlab.pdfbase.ttfonts import TTFont
> import mkTable
>
> mkTable.mkTable()
>
> and then file mkTable.py located in same directory has :
>
> def mkTable():
>      global canvas
>      canvas = canvas.Canvas(fname, pagesize=A4)
>      ... and so on

Hello,

It does not really make sense to redefine an object you've imported, 
like in
 > import mkTable
 > def mkTable():

or like in :
 > from reportlab.pdfgen import canvas
 > canvas = ...

You must use differents names for the variables you wan't to use, or the 
function you wan't to import

 > from reportlab.pdfgen import canvas
 > ....
 > import mkTable
 > ...
 > def MYmkTable():
 >      ...
 >      MYcanvas = canvas.Canvas(fname, pagesize=A4)

Daniel



More information about the Python-list mailing list