Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Anda Boleh Menentukan Laluan Fail Pelaksanaan dalam Python dengan Amanah?
Mengenal pasti laluan ke skrip Python yang sedang melaksanakan adalah aspek penting untuk pelbagai aplikasi. Walau bagaimanapun, mencari pendekatan "sejagat" yang berfungsi merentasi senario yang berbeza boleh menjadi mencabar. Artikel ini meneroka beberapa kaedah dan menangani batasan yang berkaitan dengannya, akhirnya membentangkan penyelesaian yang komprehensif.
path = os.path.abspath(os.path.dirname(__file__)): Kaedah ini mungkin tidak berfungsi dalam kes di mana:
Untuk mendapatkan laluan fail yang sedang dilaksanakan tanpa mengira konteks pelaksanaan, gabungan fungsi daripada modul inspect dan os boleh digunakan:
from inspect import getsourcefile from os.path import abspath path = abspath(getsourcefile(lambda:0))
Penyelesaian ini menyediakan pendekatan konsisten yang mendapatkan semula laluan fail sumber dalam pelbagai senario, termasuk:
Memandangkan struktur direktori berikut:
C:. | a.py \---subdir b.py
Dan kod dalam a.py:
#! /usr/bin/env python import os, sys print "a.py: os.getcwd()=", os.getcwd() print execfile("subdir/b.py")
Dan kod dalam subdir/b.py:
#! /usr/bin/env python import os, sys print "b.py: os.getcwd()=", os.getcwd() print
Output python a.py ialah :
a.py: os.getcwd()= C:\ b.py: os.getcwd()= C:\zzz
Ini menunjukkan bahawa os.getcwd() mencerminkan direktori kerja konteks pelaksanaan, yang mungkin berbeza daripada lokasi skrip yang dilaksanakan. Sebaliknya, penyelesaian yang dicadangkan (abspath(getsourcefile(lambda:0))) secara konsisten menghasilkan laluan fail sumber skrip, tanpa mengira konteks pelaksanaan.
Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Menentukan Laluan Fail Pelaksanaan dalam Python dengan Amanah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!