Rumah >pembangunan bahagian belakang >Tutorial Python >## Bagaimana untuk Menentukan Laluan Skrip Python yang Melaksanakan dengan Amanah?

## Bagaimana untuk Menentukan Laluan Skrip Python yang Melaksanakan dengan Amanah?

DDD
DDDasal
2024-10-25 03:23:29931semak imbas

## How to Reliably Determine the Path of the Executing Python Script?

Menentukan Laluan Skrip Python yang Melaksanakan

Pengenalan

Apabila melaksanakan skrip Python, selalunya diperlukan untuk mendapatkan laluan ke fail yang sedang dijalankan. Laluan ini penting untuk pelbagai tugas, seperti mengakses sumber dalam direktori skrip atau menyelesaikan laluan relatif.

Pendekatan untuk Menentukan Laluan Skrip

Walaupun beberapa pendekatan mungkin gagal dalam senario tertentu, wujud penyelesaian komprehensif yang memberikan output yang diingini secara konsisten.

Menggunakan Inspect dan Os

Untuk menentukan laluan skrip pelaksana dengan tepat, adalah disyorkan untuk menggunakan kedua-dua modul inspect dan os.

  1. Import modul yang diperlukan:
<code class="python">from inspect import getsourcefile
from os.path import abspath</code>
  1. Dapatkan laluan:
<code class="python">path = abspath(getsourcefile(lambda: 0))</code>

Fungsi getsourcefile mendapatkan semula fail sumber fungsi lambda yang disediakan, yang mewakili skrip pelaksana semasa. Fungsi abspath memastikan laluan yang terhasil adalah mutlak, menghapuskan sebarang isu yang berpotensi dengan laluan relatif.

Pelaksanaan

Sebagai contoh, pertimbangkan kod berikut:

<code class="python"># Running script: a.py

path = abspath(getsourcefile(lambda: 0))
print(path)  # Prints the absolute path of the 'a.py' script</code>

Walaupun skrip dilaksanakan daripada direktori yang berbeza atau menggunakan alatan tertentu seperti py2exe atau IDLE, pendekatan ini secara konsisten menyediakan laluan yang betul kepada skrip pelaksanaan.

Atas ialah kandungan terperinci ## Bagaimana untuk Menentukan Laluan Skrip Python yang Melaksanakan dengan Amanah?. 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