Python 3
สำหรับไดเร็กทอรีของสคริปต์ที่กำลังรัน:
import pathlib
pathlib.Path(__file__).parent.absolute()
สำหรับไดเรกทอรีการทำงานปัจจุบัน:
import pathlib
pathlib.Path().absolute()
Python 2 และ 3
สำหรับไดเร็กทอรีของสคริปต์ที่กำลังรัน:
import os
os.path.dirname(os.path.abspath(__file__))
ถ้าคุณหมายถึงไดเรกทอรีการทำงานปัจจุบัน:
import os
os.path.abspath(os.getcwd())
โปรดทราบว่าก่อนและหลังfile
เป็นขีดล่างสองอันไม่ใช่เพียงอันเดียว
นอกจากนี้โปรดทราบว่าหากคุณใช้การโต้ตอบหรือโหลดรหัสจากสิ่งอื่นที่ไม่ใช่ไฟล์ (เช่น: ฐานข้อมูลหรือทรัพยากรออนไลน์) __file__
อาจไม่สามารถตั้งค่าได้เนื่องจากไม่มีแนวคิดของ "ไฟล์ปัจจุบัน" คำตอบข้างต้นจะถือว่าสถานการณ์ที่พบบ่อยที่สุดของการเรียกใช้สคริปต์หลามที่อยู่ในไฟล์
อ้างอิง
- pathlibในเอกสารหลาม
- os.path 2.7 , os.path 3.8
- os.getcwd 2.7 , os.getcwd 3.8
- ตัวแปร __file__ หมายถึงอะไร / ทำอะไร