Saya ingin mendapatkan jalur direktori saat ini di mana file .py dieksekusi.
Misalnya file sederhana D:\test.py
dengan kode:
import os
print os.getcwd()
print os.path.basename(__file__)
print os.path.abspath(__file__)
print os.path.dirname(__file__)
Sungguh aneh bahwa hasilnya adalah:
D:\
test.py
D:\test.py
EMPTY
Saya mengharapkan hasil yang sama dari getcwd()
dan path.dirname()
.
Diberikan os.path.abspath = os.path.dirname + os.path.basename
, mengapa
os.path.dirname(__file__)
kembali kosong?
os.path.dirname(filename) + os.path.basename(filename) == filename
karena pemisah direktori tidak ada. Kami lebih suka memiliki:os.path.join(os.path.dirname(filename), os.path.basename(filename)) == filename
__file__
memperluas ke nama file saat ini, sehingga Anda dapat menggunakan salinan kata demi kata dari jawaban ini.dapat digunakan juga seperti itu:
sumber
sumber
os.path.realpath(__file__)
kembalikan abspath dari skrip saat ini; os.path.split (abspath) [0] mengembalikan dir saat inisumber
Anda juga bisa menggunakan cara ini
sumber