Flask アプリでの非絶対ディレクトリの参照
Flask アプリケーションでは、次の場合を除き、相対パスを使用してディレクトリを参照しようとすると失敗することがあります。パスは絶対です。この異常は、Python ではコードの場所と現在の作業ディレクトリが別個のエンティティであるために発生します。したがって、相対パスは、コード ファイルの場所ではなく、現在の作業ディレクトリに基づいて解釈されます。
この例では、開発者は相対パスを使用してデータ ディレクトリを参照しようとしています:
nltk.data.path.append('../nltk_data/')
しかし、このアプローチは失敗していることがわかります。解決策は絶対パスを利用することです:
nltk.data.path.append('/home/username/myapp/app/nltk_data/')
データ ディレクトリを正しく参照するには、ディレクトリへの相対パスをアプリのルート パス属性と結合し、現在の作業環境に関係なく絶対パスを確保します。ディレクトリ。これは、次のコードを使用して実現します。
resource_path = os.path.join(app.root_path, 'nltk_data')
さらに、データ パスは、ビューの呼び出しごとに繰り返し更新するのではなく、アプリの作成中に 1 回構成することをお勧めします。
結論として、 Flask アプリ内のディレクトリを参照するには、絶対パスを使用するか、相対パスとアプリのルート パス属性を組み合わせることで、確実に参照が成功し、コードの場所とコードの場所の区別から生じる混乱が排除されます。現在の作業ディレクトリ。
以上がFlask アプリケーションで非絶対ディレクトリを正しく参照するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。