Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menentukan Direktori Skrip Python Saya Di Bawah Senario Pelaksanaan Berbeza?

Bagaimanakah Saya Boleh Menentukan Direktori Skrip Python Saya Di Bawah Senario Pelaksanaan Berbeza?

DDD
DDDasal
2024-12-25 07:24:54836semak imbas

How Can I Reliably Determine My Python Script's Directory Under Different Execution Scenarios?

Menentukan Direktori Skrip Semasa dalam Python

Walaupun Python serba boleh, mengenal pasti direktori skrip semasa boleh menjadi satu cabaran kerana pelbagai pelaksanaan kaedah.

Masalah Pernyataan:
Tugasnya adalah untuk mencari cara yang paling boleh dipercayai untuk menentukan direktori skrip semasa di bawah senario yang berbeza:

  • Pelaksanaan langsung (cth., ./myfile.py)
  • Pelaksanaan melalui penterjemah Python (cth., python myfile.py)
  • Pelaksanaan dengan exec atau execfile daripada skrip lain

Cabaran:

  • __file__ tidak ditentukan apabila menggunakan exec atau execfile.
  • __modul__ hanya ditakrifkan dalam modul.

Pendekatan Terbaik:
Walaupun tiada penyelesaian yang sempurna, pendekatan yang paling banyak digunakan ialah os.path.dirname(os.path.abspath(__file__)) . Walau bagaimanapun, ini gagal apabila melaksanakan skrip melalui exec() daripada yang lain.

Amaran:
Menggunakan direktori semasa bukanlah penyelesaian yang berdaya maju kerana ia boleh berbeza-beza bergantung pada cara skrip dipanggil atau ditukar semasa pelaksanaan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Direktori Skrip Python Saya Di Bawah Senario Pelaksanaan Berbeza?. 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