将外部文件加载到 Web2Py 控制器方法时出错

Errors Loading External File into Web2Py Controller Method

我正在尝试构建一个也使用 OPENCV(计算机视觉库)的 web2Py api。我已经在本地机器上的一个文件夹中测试了 OPENCV 加载方法(代码有效)。在我的 web2Py 应用程序的默认控制器中创建方法时,代码运行,但级联不会加载,尽管 .xml 文件与应用程序控制器下的 default.py 位于同一文件夹中.我检查了权限并启用了 .xml 文件的所有权限(似乎不是问题所在)。我需要将文件放在不同的位置吗?

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

no_classifier = face_cascade.empty()

级联总是 returns 为空(它没有加载)。

感谢您的帮助。

Python 工作目录将不是包含控制器的文件夹。通常,最好简单地构建文件的完整路径。也建议将此类文件放在应用程序的/private 文件夹中:

    import os
    filepath = os.path.join(request.folder, 'private',
                            'haarcascade_frontalface_default.xml')
    face_cascade = cv2.CascadeClassifier(filepath)