Nối đường dẫn trong python | Laptrinhcanban.com

Nối đường dẫn trong python

Hướng dẫn cách nối đường dẫn trong python. Bạn sẽ học được cách nối đường dẫn từ tên file và thư mục trong python bằng hàm os.path.join() hoặc dùng lệnh lấy ký tự phân tách os.sep trong python sau bài học này.

Nối đường dẫn trong python | os.path.join()

Chúng ta dùng hàm os.path.join() để nối đường dẫn trong python với cú pháp sau đây:

os.path.join(paths)

Trong đó paths là tập hợp tên file và thư mục con dùng để nối và tạo nên đường dẫn cần tạo.

Sau khi chạy hàm, một đường dẫn được tạo ra, với các phần tử (tên file và thư mục con) được nối với nhau bởi dấu phân cách đường dẫn.

Ví dụ:

import os 

path = os.path.join('dir', 'subdir', 'filename.ext')
print(path)
# dir/subdir/filename.ext

Lưu ý là os.path.join() có tác dụng tạo ra đường dẫn kết quả từ các đối số chỉ định trong nó, chứ không có tác dụng kiểm tra đường dẫn được tạo có chính xác, hay có tồn tại hay không.

Để kiểm tra đường dẫn vừa tạo có tồn tại hay không, chúng ta cần sử dụng kết hợp các hàm trong bài viết dưới đây:

Ứng dụng của os.path.join() trong python

Lấy danh sách đường dẫn file trong thư mục python

Ứng dụng hàm os.path.join() và hàm os.listdir(), chúng ta có thể lấy danh sách đường dẫn file trong thư mục python như sau:

import os

path = './user/'
filelist = os.listdir(path)

for f in filelist:
print(os.path.join(path, f))

# ./user/sample
# ./user/filename.ext
# ./user/username.csv

Trong ví dụ trên, các tên file và thư mục có trong thư mục user sẽ được lần lượt kết hợp với đường dẫn của thư mục, để tạo nên tên file có trong thư mục mẹ.

Kiểm tra đường dẫn là file hay thư mục trong python

Chúng ta cũng có thể kết hợp os.path.join() và hàm os.path.isfile() hay os.path.isdir() để kiểm tra đường dẫn là file hay thư mục trong python như sau:

import os

path = './user/'
filelist = os.listdir(path)

for f in filelist:
path= os.path.join(path, f)
print(path)
if os.path.isfile(path):
print("File")
elif os.path.isdir(path):
print("Folder")
else:
pass
# ./user/sample
# Folder
# ./user/filename.ext
# File
# ./user/username.csv
# File

Nối đường dẫn trong python | os.sep

os.sep hoặc os.path.sep là lệnh để lấy ký tự dấu phân tách trong hệ điều hành chạy Python. Ký tự phân tách này có thể là / trong macOS hoặc Unix, hay là \n hoặc ¥ trong Windows.

Bằng cách sử dụng os.sep với toán tử cộng +, chúng ta có thể nối các thành phần tạo đường dẫn trong python và tạo ra đường dẫn đó, với cú pháp sau đây:

path = str1 + os.sep + str2 + os.sep + str3…

Trong đó os.sep để lấy ký tự phân tách trong hệ điều hành, và str là các tên file và thư mục con dùng để nối và tạo nên đường dẫn.
Ví dụ:

import os

path = os.path.join('dir', 'subdir', 'filename.ext')
path = 'dir' + os.sep + 'subdir' + os.sep + 'filename.ext'
print(path)
# dir\subdir\filename.ext

Sau khi nối đường dẫn trong python bằng os.sep rồi, bạn có thể ứng dụng và viết thêm các lệnh khác tương tự như hàm os.path.join() ở trên.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách nối đường dẫn trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.