Bagaimana untuk Membuka Fail dengan Amanah daripada Direktori Skrip Semasa?

Patricia Arquette
Lepaskan: 2024-11-15 06:41:03
asal
204 orang telah melayarinya

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 adalah untuk 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__)))
Salin selepas log masuk

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'))
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan