2017-12-01 6 views
0

OpenCVでファイルからカスケード分類子をPythonでロードしています。 CascadeClassifier()メソッドではファイル名が絶対ファイル名である必要があるため、絶対ファイル名をロードする必要があります。Heroku Pythonで分類器をロード

しかし、私はそれを展開してHerokuで使用しているため、ファイルの絶対パスを取得できないようです。私はos.getcwd() + '\cascader_file.xml'を使ってみましたが、それでも動作しません。

私はそれを考え出した方法Herokuの展開

答えて

0

に分類子をロードするために知っていただきたいと思います。私がする必要があったのは、os.path.abspath()メソッドを使用して相対パスを絶対パスに変換することでした。

0

探しているファイルがスクリプトの側にある場合は、スクリプトのディレクトリを取得して、ターゲットリソース/ confファイル。あなたの現在のディレクトリがあなたのスクリプトと同じディレクトリでないかもしれないので、それはos.getcwdを使うよりも良い習慣です。

例えば、あなたのディレクトリは、このようなものです:

-- my_project 
    |-- main.py 
    |-- cascader_file.xml 

スクリプトmain.pycascader_file.xmlを検索するには:

d = os.path.dirname(os.path.abspath(__file__)) # your script's dir, my_project 
filepath = os.path.join(d, "cascader_file.xml") 
filepath = os.path.abspath(filepath) # make it an absolute path 

ところで、os.path.joinを使用すると、より安全であると直接連結パスの部分よりもプラットフォームの互換性。

関連する問題