Sự khác biệt giữa os.path.basename()và là os.path.dirname()gì?
Tôi đã tìm kiếm câu trả lời và đọc một số liên kết, nhưng không hiểu. Bất cứ ai có thể đưa ra một lời giải thích đơn giản?
Sự khác biệt giữa os.path.basename()và là os.path.dirname()gì?
Tôi đã tìm kiếm câu trả lời và đọc một số liên kết, nhưng không hiểu. Bất cứ ai có thể đưa ra một lời giải thích đơn giản?
Câu trả lời:
Cả hai hàm đều sử dụng os.path.split(path)hàm để chia tên đường dẫn paththành một cặp; (head, tail).
Các os.path.dirname(path)hàm trả về người đứng đầu của con đường.
Vd: Tên thư mục của '/foo/bar/item'là '/foo/bar'.
Các os.path.basename(path)chức năng trả về đuôi của con đường.
Vd: Tên cơ sở của '/foo/bar/item'lợi nhuận'item'
Từ: http://docs.python.org/2/l Library / os.path.html # os.path.basename
os.path.basename(os.path.dirname(path))
'foo.bar', và os.path.dirname (file_name) trả về một chuỗi rỗng : ''.
Để tóm tắt những gì đã được Breno đề cập ở trên
Giả sử bạn có một biến có đường dẫn đến tệp
path = '/home/User/Desktop/myfile.py'
os.path.basename(path) trả về chuỗi 'myfile.py'
và
os.path.dirname(path)trả về chuỗi '/home/User/Desktop'(không có dấu gạch chéo '/')
Các hàm này được sử dụng khi bạn phải lấy tên tệp / tên thư mục được cung cấp tên đường dẫn đầy đủ.
Trong trường hợp đường dẫn tệp chỉ là tên tệp (ví dụ thay vì path = '/home/User/Desktop/myfile.py'bạn chỉ có myfile.py), os.path.dirname(path)trả về một chuỗi trống.
itembằngitem/, đó là một thư mục, sau đóos.path.split('foo/bar/item/')trả về('foo/bar/item', '').