[英]How do I do global import in python?
當我偶然發現某些東西時,我才剛剛開始使用reportlab。 我從一些基本代碼開始:
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
def generateDoc(docName, title, codefilesFolderPath, docTextFilePath):
canvas = canvas.Canvas(docName, pagesize=letter)
canvas.setLineWidth(.3)
canvas.setFont('Helvetica', 12)
canvas.drawString(30,750,'OFFICIAL COMMUNIQUE')
canvas.save()
generateDoc("temp.pdf","","","")
它給了我以下錯誤:
UnboundLocalError: local variable 'canvas' referenced before assignment
我已經知道,像其他語言一樣,不允許在python中自由允許使用全局變量,並且本帖子要求使用global
關鍵字。 但是我無法在上面的代碼中得到應該怎么做。
我曾嘗試在不同的地方放置import
,但無法獲得如何執行此操作的信息。
您的本地變量canvas
隱藏了導入的模塊canvas
。
您可以直接導入Canvas
:
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen.canvas import Canvas
def generateDoc(docName, title, codefilesFolderPath, docTextFilePath):
canvas = Canvas(docName, pagesize=letter)
canvas.setLineWidth(.3)
canvas.setFont('Helvetica', 12)
canvas.drawString(30,750,'OFFICIAL COMMUNIQUE')
canvas.save()
generateDoc("temp.pdf","","","")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.