Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membuka Fail dengan Amanah daripada Direktori Skrip Semasa?

Bagaimana untuk Membuka Fail dengan Amanah daripada Direktori Skrip Semasa?

Patricia Arquette
Patricia Arquetteasal
2024-11-15 06:41:03164semak imbas

How to Reliably Open Files from the Current Script Directory?

Membuka Fail daripada Direktori Skrip Semasa: Pendekatan Komprehensif

Apabila membuka fail daripada direktori skrip yang sedang berjalan, adalah penting untuk digunakan teknik yang sesuai untuk mengelakkan kesilapan. Pada mulanya, menggunakan open("Some file.txt", "r") mungkin kelihatan mudah, tetapi ia boleh membawa kepada isu apabila skrip dilancarkan melalui klik dua kali pada Windows.

Untuk menangani perkara ini, perkara biasa pendekatan ialah menggunakan os.path.join(sys.path[0], "Some file.txt") untuk menentukan laluan fail. Walaupun ini berfungsi pada kebanyakan masa, ia mungkin gagal dalam senario tertentu.

Meneroka Alternatif:

  • os.getcwd() dan os. path.abspath(''): Fungsi ini menyediakan "direktori kerja semasa", yang mungkin berbeza daripada direktori skrip.
  • os.path.dirname(sys.argv[0] ) dan os.path.dirname(__file__): Mereka mendapatkan semula laluan yang digunakan untuk menggunakan skrip, yang boleh relatif atau kosong. Selain itu, __file__ tidak tersedia dalam IDLE atau PythonWin.
  • sys.path[0] dan os.path.abspath(os.path.dirname(sys.argv[0])): Ini nampaknya mengembalikan direktori skrip, tetapi persamaannya tidak pasti.

Mempertimbangkan Modul yang Mengandungi:

Isu ini boleh diperhalusi lagi untuk membuka fail dalam direktori yang sama dengan modul yang mengandungi. Teknik konvensional mungkin tidak memenuhi keperluan ini secukupnya.

Penyelesaian Boleh Dipercayai:

Penyelesaian yang boleh dipercayai secara menyeluruh ialah menggunakan kod berikut:

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

Baris ini memastikan bahawa direktori skrip diperoleh dengan tepat, tanpa mengira kaedah atau platform pelancaran. Untuk membuka fail dalam direktori ini, hanya gunakan:

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

Pendekatan ini telah terbukti berkesan dalam menggabungkan sumber dengan aplikasi Django pada Windows dan Linux.

Atas ialah kandungan terperinci Bagaimana untuk Membuka Fail dengan Amanah daripada Direktori Skrip Semasa?. 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