ホームページ >バックエンド開発 >Python チュートリアル >Flask の絶対パスと相対パス: データを正しく参照するにはどうすればよいですか?

Flask の絶対パスと相対パス: データを正しく参照するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-01 09:48:10480ブラウズ

Absolute vs. Relative Paths in Flask: How Do I Correctly Reference Data?

Flask アプリケーションでのパス参照: 絶対パスと相対パス

Flask アプリケーションで相対パスを操作する場合、それらの違いを理解することが重要です。コードの場所と作業ディレクトリ。データ ディレクトリと並行したディレクトリに存在する Flask ブループリントは、データへのパスが絶対形式で指定されていない場合に問題が発生する可能性があります。

次の例を考えてみましょう:

nltk.data.path.append('../nltk_data/')

Python はすべての相対パスを現在の作業ディレクトリに対する相対パスとして解釈し、コードが存在する場所とは異なる可能性があるため、このパスは意図したとおりに機能しません。したがって、パスは絶対的に指定する必要があります:

nltk.data.path.append('/home/username/myapp/app/nltk_data/')

あるいは、Flask の root_path 属性を利用して、アプリケーションまたはブループリントのパッケージ ディレクトリへの絶対パスを取得できます。この属性を使用すると、次の例に示すように、パッケージ ディレクトリに相対的なデータ パスを指定できます。

resource_path = os.path.join(app.root_path, 'nltk_data')

アプリケーションの初期化中にデータ パスを 1 回設定する方が、通常、データ パスを追加するよりも効率的であることに注意してください。各ビュー内でそれを行います。さらに、NLTK などの特定のパッケージは、アプリケーションのセットアップ中にデータ パスを設定するための特定のメカニズムを提供します。これらの原則を理解すると、現在の作業ディレクトリに関係なく、Flask アプリケーションでデータ パスが正しく参照されるようになります。

以上がFlask の絶対パスと相対パス: データを正しく参照するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。