Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membuka Fail dengan Amanah dalam Direktori yang Sama dengan Skrip Python Berjalan Anda?

Bagaimana untuk Membuka Fail dengan Amanah dalam Direktori yang Sama dengan Skrip Python Berjalan Anda?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-20 03:11:01417semak imbas

How to Reliably Open Files in the Same Directory as Your Running Python Script?

Membuka Fail dalam Direktori Skrip Berjalan [Dilawati Semula]

Dalam Python, membuka fail yang terletak dalam direktori yang sama dengan skrip berjalan boleh menjadi satu cabaran, terutamanya apabila mempertimbangkan keserasian merentas platform. Pendekatan biasa melibatkan penggunaan open("Some file.txt", "r"), yang berfungsi apabila skrip dilaksanakan daripada baris arahan. Walau bagaimanapun, apabila skrip dilancarkan melalui klik dua kali dalam Windows, ia mungkin cuba membuka fail daripada direktori yang salah.

Untuk menangani isu ini, pembangun telah mencari alternatif yang boleh dipercayai. os.path.join(sys.path[0], "Sesetengah fail.txt") telah muncul sebagai penyelesaian biasa, tetapi kebimbangan kekal tentang potensi hadnya.

Menentukan Direktori Skrip

Mengenal pasti direktori skrip adalah penting untuk membuka fail yang terdapat di dalamnya. Antara pelbagai kaedah yang tersedia, os.getcwd() dan os.path.abspath('') mendapatkan semula direktori kerja semasa, yang mungkin tidak semestinya direktori skrip. Begitu juga, os.path.dirname(sys.argv[0]) dan os.path.dirname(__file__) menyediakan laluan pelaksanaan skrip, yang mungkin relatif atau tidak lengkap apabila skrip dilaksanakan dalam persekitaran tertentu.

Penyelesaian Disyorkan

Untuk memastikan pembukaan fail yang boleh dipercayai dalam dalam direktori skrip, pendekatan berikut disyorkan:

__location__ = os.path.realpath(
    os.path.join(os.getcwd(), os.path.dirname(__file__)))

Barisan ini menggabungkan direktori kerja semasa dan laluan skrip, memastikan laluan mutlak kekal tidak terjejas semasa menyelesaikan sebarang pautan simbolik.

Untuk membuka fail menggunakan kaedah ini:

f = open(os.path.join(__location__, 'bundled-resource.jpg'))

Pendekatan ini menyediakan penyelesaian yang mantap untuk membuka fail dalam direktori yang sama sebagai skrip berjalan, tanpa mengira persekitaran atau platform pelaksanaan.

Atas ialah kandungan terperinci Bagaimana untuk Membuka Fail dengan Amanah dalam Direktori yang Sama dengan Skrip Python Berjalan Anda?. 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