Apa perbedaan antara os.path.basename()
dan os.path.dirname()
?
Saya sudah mencari jawaban dan membaca beberapa tautan, tetapi tidak mengerti. Adakah yang bisa memberikan penjelasan sederhana?
Kedua fungsi tersebut menggunakan os.path.split(path)
fungsi tersebut untuk membagi nama jalur path
menjadi pasangan; (head, tail)
.
The os.path.dirname(path)
mengembalikan fungsi kepala jalan.
Misalnya: Dirname dari '/foo/bar/item'
adalah '/foo/bar'
.
The os.path.basename(path)
fungsi mengembalikan ekor jalan.
Misalnya: Nama dasar '/foo/bar/item'
pengembalian'item'
Dari: http://docs.python.org/2/library/os.path.html#os.path.basename
item
denganitem/
, yang merupakan direktori, kemudianos.path.split('foo/bar/item/')
mengembalikan('foo/bar/item', '')
.os.path.basename(os.path.dirname(path))
'foo.bar'
dan os.path.dirname (nama_file) mengembalikan sebuah string kosong:''
.Untuk meringkas apa yang disebutkan oleh Breno di atas
Katakanlah Anda memiliki variabel dengan jalur ke file
path = '/home/User/Desktop/myfile.py'
os.path.basename(path)
mengembalikan string'myfile.py'
dan
os.path.dirname(path)
mengembalikan string'/home/User/Desktop'
(tanpa garis miring '/')Fungsi-fungsi ini digunakan ketika Anda harus mendapatkan nama file / nama direktori yang diberi nama path lengkap.
Jika path file hanya nama file (misalnya, bukan
path = '/home/User/Desktop/myfile.py'
Anda yang hanya punyamyfile.py
),os.path.dirname(path)
kembalikan string kosong.sumber