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

Bagaimanakah Saya Boleh Menentukan Direktori Skrip Semasa dalam Python?

Patricia Arquette
Lepaskan: 2024-12-13 17:19:10
asal
599 orang telah melayarinya

How Can I Reliably Determine the Current Script Directory in Python?

Menentukan Direktori Skrip Semasa dengan Berkesan dalam Python

Dalam Python, mendapatkan direktori skrip semasa menimbulkan cabaran kerana pelbagai kaedah pelaksanaan skrip. Atribut fail dan modul, walaupun berguna, mempunyai had untuk senario tertentu.

Pertimbangkan kes berikut:

  • Pelaksanaan langsung: . /myfile.py
  • Pelaksanaan dengan penterjemah Python: python myfile.py
  • Pelaksanaan dari dalam skrip lain menggunakan exec()
  • Pelaksanaan dari dalam direktori lain

Untuk menangani pelbagai senario ini, pendekatan yang disyorkan ialah:

os.path.dirname(os.path.abspath(__file__))
Salin selepas log masuk

Kaedah ini menggabungkan laluan fail mutlak dengan nama direktori, menyediakan direktori yang betul tanpa mengira kaedah pelaksanaan yang digunakan.

Awas:

Pergantungan pada direktori kerja semasa adalah tidak digalakkan, kerana ia boleh diubah semasa pelaksanaan skrip dan berbeza-beza bergantung pada seruan.

Untuk kes yang melibatkan pelaksanaan exec(), penyelesaian yang mungkin adalah untuk menetapkan fail global dalam skop yang diserahkan kepada skrip. Walau bagaimanapun, pendekatan ini mungkin tidak boleh dilaksanakan untuk semua kes penggunaan.

Ringkasnya, walaupun penyelesaian universal mungkin tidak wujud, pendekatan yang diterangkan di sini menawarkan kaedah yang teguh dan boleh dipercayai untuk menentukan direktori skrip semasa dalam Python.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Direktori Skrip Semasa dalam Python?. 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