Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Cara Mendapatkan Laluan dan Nama Skrip Python Semasa Secara Pemrograman?

Bagaimana Cara Mendapatkan Laluan dan Nama Skrip Python Semasa Secara Pemrograman?

Patricia Arquette
Patricia Arquetteasal
2024-12-11 21:38:17862semak imbas

How to Programmatically Get the Current Python Script's Path and Name?

Mengakses Laluan dan Nama Skrip Semasa Secara Pengaturcaraan

Dalam Python, selalunya perlu untuk menentukan laluan dan nama skrip yang sedang dilaksanakan . Maklumat ini amat berguna dalam situasi di mana skrip memanggil skrip lain secara rekursif, kerana ia membenarkan skrip merujuk lokasi dan sumber mereka sendiri.

Soalan:

Bagaimana kita boleh mendapatkan laluan dan nama skrip Python yang sedang melaksanakan dari dalam skrip itu sendiri, tanpa secara eksplisit menyampaikan maklumat ini sebagai argumen?

Penyelesaian:

Kaedah yang paling mudah dan paling meluas digunakan melibatkan penggunaan pembolehubah Python terbina dalam:

__file__

__file__ ialah pembolehubah global yang mengandungi laluan mutlak skrip yang sedang dilaksanakan. Sebagai contoh, jika anda mempunyai skrip berikut:

  • script_1.py
  • script_2.py
  • script_3.py

Dan script_1.py memanggil script_2.py, yang seterusnya memanggil script_3.py, __file__ dalam script_3.py akan tahan laluan ke script_3.py.

Pertimbangan Tambahan:

Dalam kes tertentu, anda mungkin menghadapi pautan simbolik atau alias yang mewakili skrip semasa. Untuk mendapatkan sasaran sebenar skrip, anda boleh menggunakan fungsi os.path.realpath:

import os

os.path.realpath(__file__)

Ini akan mengembalikan laluan mutlak fail, menghapuskan sebarang pautan simbolik atau alias.

Atas ialah kandungan terperinci Bagaimana Cara Mendapatkan Laluan dan Nama Skrip Python Semasa Secara Pemrograman?. 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