Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menentukan Direktori Semasa Skrip Python Saya dengan Amanah?

Bagaimanakah Saya Boleh Menentukan Direktori Semasa Skrip Python Saya dengan Amanah?

Mary-Kate Olsen
Lepaskan: 2024-12-14 04:30:14
asal
131 orang telah melayarinya

How Can I Reliably Determine My Python Script's Current Directory?

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:

  • Melaksanakan skrip secara terus: ./myfile .py
  • Menggunakan arahan python: python myfile.py
  • Memanggil daripada skrip lain: execfile('myfile.py')

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan