Rumah >pembangunan bahagian belakang >Tutorial Python >Laluan Mutlak lwn. Relatif dalam Rangka Tindakan Kelalang: Bagaimana untuk Merujuk Direktori dengan Betul?

Laluan Mutlak lwn. Relatif dalam Rangka Tindakan Kelalang: Bagaimana untuk Merujuk Direktori dengan Betul?

Susan Sarandon
Susan Sarandonasal
2024-12-26 17:41:14383semak imbas

Absolute vs. Relative Paths in Flask Blueprints: How to Correctly Reference Directories?

Merujuk Direktori dalam Kelalang: Laluan Mutlak lwn. Relatif

Aplikasi Dalam Kelalang, apabila mengakses direktori daripada pandangan yang terdapat dalam cetak biru di luar akar direktori, laluan mestilah mutlak. Ini kerana laluan relatif ditafsirkan secara relatif kepada direktori kerja semasa, bukan direktori tempat kod itu berada.

Untuk menggambarkan, katakan anda mempunyai apl Flask dengan struktur berikut:

project/
    app/
        __init__.py
        views.py
    blueprints/
        __init__.py
        blueprint.py
    data/
        nltk_data

Dalam paparan pelan tindakan, kod berikut akan gagal:

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

Laluan adalah relatif kepada direktori pelan tindakan, tetapi nltk.data mengharapkan laluan mutlak. Cara yang betul untuk menentukan laluan adalah dengan menggunakan borang mutlak:

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

Sebagai alternatif, anda boleh menggunakan atribut root_path apl atau pelan tindakan untuk membina laluan mutlak, seperti ini:

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

Ini disyorkan kerana ia mengelakkan keperluan untuk mengekod laluan, menjadikan kod anda lebih mudah alih.

Perhatikan bahawa ia adalah mudah alih. secara amnya tidak perlu menambahkan direktori ke nltk.data setiap kali anda memanggil paparan. Anda biasanya boleh menyediakan laluan data sekali apabila apl dibuat. Rujuk dokumentasi nltk untuk mendapatkan arahan khusus tentang cara melakukan ini.

Atas ialah kandungan terperinci Laluan Mutlak lwn. Relatif dalam Rangka Tindakan Kelalang: Bagaimana untuk Merujuk Direktori dengan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn