ホームページ > バックエンド開発 > Python チュートリアル > Flask アプリケーションで相対パスを正しく解決するにはどうすればよいですか?

Flask アプリケーションで相対パスを正しく解決するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-05 02:41:10
オリジナル
550 人が閲覧しました

How to Correctly Resolve Relative Paths in Flask Applications?

Flask アプリでの相対ディレクトリ パスの解決

Flask アプリケーション内のディレクトリにアクセスする場合、作業ディレクトリの概念を理解することが重要です。 Python では、相対パスは現在の作業ディレクトリを基準として解釈され、コードが存在するディレクトリとは異なる場合があります。

次のコードを考えてみましょう。

nltk.data.path.append('../nltk_data/')
ログイン後にコピー

この試みは、相対パスは現在の作業ディレクトリに基づいて解釈されるため、相対パスを使用した nltk データ ディレクトリは失敗します。この問題を解決するには、完全な絶対パスを使用するか、アプリケーションのルート ディレクトリを基準とした相対データ ディレクトリを参照します。

Flask では、app.root_path 属性はアプリケーションのルート ディレクトリへの絶対パスを提供します。これを相対パスと組み合わせることで、データ ディレクトリへの絶対パスを構築できます。

resource_path = os.path.join(app.root_path, 'nltk_data')
ログイン後にコピー

このアプローチにより、現在の作業ディレクトリに関係なく、データ パスが常に正しく解決されます。

さらに、通常はアプリの初期化時に、データ パスを一度設定することをお勧めします。これにより、ビュー呼び出しのたびにパスにデータ ディレクトリを繰り返し追加することが回避されます。具体的な構成は、アプリの構造と NLTK ライブラリの要件によって異なる場合があります。

以上がFlask アプリケーションで相対パスを正しく解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート