我正在使用ReportLab生成pdf。但当我试图在其中附加图像时,会出现错误。如果我不包括图像,那么一切都很好。代码运行成功。在
我有以下目录结构。在
parentDir\
main.py
childDir\
__init__.py
first.py
second.py
image.jpg
在主.py在
^{pr2}$在第一.py在
from second import methodOfSecond
#using methodOfSecond
在第二.py在
#this second.py file have **ReportLab** Code
.............
canvas.drawImage('image.jpg', 0.2*inch, 11.12*inch, width=w*scale, height=h*scale)
.............
这是我代码的基本框架。但当我执行时,会产生错误:
raise IOError('Cannot open resource "%s"' % name)
IOError: Cannot open resource "tjsservices.jpg"
handle_pageBegin args=()
我不熟悉python和reportLab,所以不知道导入这种层次结构的正确方法是什么。如果所有文件都在同一个目录下,那么它可以正常工作。但是当我使用这种目录结构时,它失败了。在
为了简单起见,我提供了这个骨架。如果需要更多代码,请告诉我。在
所以问题是。为什么我会遇到这个错误,以及如何解决它?这是ReportLab的问题(即ReportLab不支持这种导入)还是我导入文件的方式不对? 任何帮助都将不胜感激。在
你的路径应该是相对于你实际运行的文件,而不是你要导入的模块。在
因此,您需要将图像路径更改为“childDir”/文件段,提供完整路径(或动态确定),或将图像路径作为参数传递给导入的函数。在
所有文件系统操作都与current working directory相关,而这与您所在的Python模块无关。在
在第二.py,可以这样计算路径:
相关问题 更多 >
编程相关推荐