Menentukan Direktori Skrip Semasa dalam Python
Apabila bekerja dengan skrip Python, adalah perlu untuk menentukan direktori semasa mereka. Walau bagaimanapun, disebabkan pelbagai cara skrip boleh dipanggil, adalah sukar untuk mencari penyelesaian yang berkesan.
Pertimbangkan senario berikut:
Pendekatan os.path.dirname(os.path.abspath(__file__)) yang biasa digunakan mungkin tidak selalu berfungsi, terutamanya apabila skrip dipanggil daripada yang lain menggunakan exec().
Terbaik Pendekatan
Walaupun tidak sempurna, os.path.dirname(os.path.abspath(__file__)) kekal sebagai pendekatan yang paling boleh dipercayai. Ia menyediakan direktori skrip semasa dalam kebanyakan kes.
Batasan Penggunaan CWD
Adalah penting untuk ambil perhatian bahawa sebarang penyelesaian yang bergantung pada direktori kerja semasa (CWD) mungkin gagal. Ini kerana CWD boleh berbeza-beza bergantung pada kaedah memanggil skrip atau mungkin ditukar semasa pelaksanaan.
Alternatif untuk Penggunaan Exec/Execfile
Jika anda mesti menggunakan exec/execfile, pertimbangkan untuk menetapkan __file__ dalam global yang dihantar kepada skrip. Ini membolehkan skrip mengenal pasti nama failnya sendiri.
Pertimbangan Tambahan
Adalah luar biasa untuk melaksanakan skrip menggunakan exec/execfile. Sebaliknya, kaedah pilihan adalah menggunakan infrastruktur modul Python untuk memuatkan skrip. Jika exec/execfile mesti digunakan, adalah penting untuk mengendalikan tetapan __file__ dengan teliti untuk memastikan skrip dapat menentukan lokasinya dengan betul.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Direktori Semasa Skrip Python Saya dengan Amanah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!