Computer >> Máy Tính >  >> Lập trình >> Python

Python os.path.join:Hướng dẫn cho người mới bắt đầu

Phương thức Python os.path.join kết hợp một hoặc nhiều tên đường dẫn thành một đường dẫn duy nhất. Phương pháp này thường được sử dụng với các phương thức os như os.walk () để tạo đường dẫn cuối cùng cho một tệp hoặc thư mục. os.path.join () tự động thêm bất kỳ dấu gạch chéo lên phía trước bắt buộc nào vào tên đường dẫn tệp.

Cách sử dụng Python os.path.join

Có thể bạn đã bị cuốn vào mê cung đường dẫn khi làm việc với các tệp bằng Python.

Để làm việc với tệp, bạn cần chỉ định thư mục chứa tệp xuất hiện. Điều này dễ dàng hơn so với âm thanh. Nếu bạn không chỉ định đúng đường dẫn, chương trình của bạn sẽ không hoạt động.

Trong hướng dẫn này, chúng ta sẽ nói về os.path.join. Đây là một phương pháp kết hợp các thành phần của đường dẫn tệp thành một đường dẫn hoàn chỉnh. Chúng tôi sẽ giới thiệu qua hai ví dụ để giúp bạn bắt đầu với phương pháp này.

Đường dẫn tệp là gì?

Đường dẫn tệp là một chuỗi các tên tệp và thư mục. Chuỗi tên này sẽ đưa bạn đến một vị trí nhất định trên hệ điều hành (OS) của máy tính.

Hãy lấy đường dẫn sau làm ví dụ:

/Users/James/tutorials

Đường dẫn này đưa chúng ta đến một thư mục có tên là “hướng dẫn”. Nếu chúng tôi muốn truy cập một tệp hoặc thư mục cụ thể trong thư mục này, chúng tôi có thể trỏ đến nó bằng cách sử dụng tên tệp của nó:

/Users/James/tutorials/README.md

Bạn có thể viết các đường dẫn tệp này theo cách thủ công bằng Python. Làm như vậy có thể là không thực tế. Đó là lúc os.path.join xuất hiện.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Python os.path.join là gì?

os.path.join kết hợp tên đường dẫn thành một đường dẫn hoàn chỉnh. Điều này có nghĩa là bạn có thể hợp nhất nhiều phần của một đường dẫn thành một, thay vì viết mã cố định mọi tên đường dẫn theo cách thủ công.

Để sử dụng chức năng này, bạn cần nhập thư viện hệ điều hành vào mã của mình:

import os

Hãy xem cú pháp của phương thức os.path.join (). Hàm os.path.join chấp nhận danh sách các đường dẫn mà bạn muốn hợp nhất thành một:

os.path.join(path1, path2...)

path1, path2 và tất cả các giá trị tiếp theo đại diện cho các đường dẫn bạn muốn kết hợp thành một tên duy nhất.

path = os.path.join("/Users/James/tutorials", "index.html")
print(path)

Mã này trả về:/Users/James/tutorials/index.html. Phương thức os.path.join tiếp tục từ thành phần đường dẫn tuyệt đối mà chúng tôi đã chỉ định (“/ Users / James / tutorial”). Chúng tôi thêm index.html vào cuối đường dẫn.

Một cách dễ dàng, phương thức os.path.join sẽ chèn các dấu gạch chéo lên phía trước (được gọi là “dấu phân cách thư mục”) khi chúng cần thiết. Điều này làm cho nó trở thành một cách thuận tiện hơn để kết hợp tên đường dẫn tệp thay vì nối chúng theo cách thủ công.

os.path.join Ví dụ về Python

Hãy viết kết hợp tên tệp “index.html” trong thư mục “tutorial / web /”. Tệp này nằm trong thư mục làm việc hiện tại của chúng tôi.

Chúng tôi sẽ bắt đầu bằng cách nhập thư viện hệ điều hành:

import os

Tiếp theo, chúng ta sẽ lấy thư mục làm việc hiện tại để chúng ta có thể thêm tên đường dẫn tệp của mình vào đó:

cwd = os.getcwd()

Điều này trả về thư mục làm việc hiện tại của chúng tôi, đó là / Users / James / tutorial. Thư mục "hướng dẫn" nằm trong thư mục chính của người dùng của chúng tôi. Chúng tôi có thể sử dụng thông tin này để thêm “hướng dẫn / web” vào cuối thư mục làm việc của chúng tôi:

web_tutorials = os.path.join(cwd, "tutorials/web")
print(web_tutorials)

Mã này trả về:/ Users / James / tutorial / web. Mã của chúng tôi đã kết hợp các thành phần tên đường dẫn của chúng tôi thành một. Dấu gạch chéo về phía trước (“/”) đã được thêm vào giữa các tên đường dẫn của chúng tôi. Đường dẫn này đề cập đến thư mục “web” trong đường dẫn hiện có của chúng tôi.

Python os.path.join:Liệt kê các tệp

Hãy sử dụng phương thức os.path.join để trả về đường dẫn tệp đầy đủ của tất cả các tệp trong một thư mục. Chúng tôi sẽ liệt kê tất cả các tệp trong thư mục "Máy tính để bàn" trên hệ thống tệp của chúng tôi. Thư mục này nằm trong thư mục “/ Users / James /” trên ổ đĩa.

Chúng tôi sẽ bắt đầu bằng cách nhập thư viện hệ điều hành và xác định thư mục mà chúng tôi muốn tìm kiếm:

import os

cwd = os.getcwd()
desktop = os.path.join(cwd, "Desktop")

Mã này tạo đường dẫn tệp cho thư mục Desktop liên quan đến thư mục làm việc hiện tại của chúng tôi. Tiếp theo, chúng ta có thể sử dụng phương thức Python os.listdir () để truy xuất danh sách tất cả các tệp trong thư mục này:

files = os.listdir(desktop)

Phương thức này trả về danh sách tên của tất cả các tệp xuất hiện trong thư mục Màn hình nền. Nó không bao gồm các đường dẫn của các tệp. Bây giờ chúng ta có danh sách các tệp này, chúng ta có thể in tất cả chúng ra bảng điều khiển. Chúng tôi sẽ in đường dẫn tệp đầy đủ cho mỗi tệp bằng cách sử dụng os.path.join và vòng lặp Python for:

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

Mã này lặp qua tất cả các tệp trong thư mục Máy tính để bàn. Nó kết hợp tên của mỗi tệp với tên đường dẫn của thư mục Desktop. Mã của chúng tôi trả về:

/Users/James/Desktop/.DS_Store
/Users/James/Desktop/Notes.md
/Users/James/Desktop/To-dos.md

Có ba tệp trên màn hình của tôi:.DS_Store, Notes.md và To-dos.md. Chúng tôi đã sử dụng os.path.join () để tạo đường dẫn đầy đủ của mỗi tệp.

Kết luận

Phương thức os.path.join kết hợp các thành phần trong tên đường dẫn để tạo tên đường dẫn đầy đủ.

Phương pháp này giúp dễ dàng kết hợp hai hoặc nhiều thành phần của tên đường dẫn. Os.path.join tự động chèn dấu gạch chéo lên phía trước (“/”) vào tên đường dẫn khi cần.

Nếu bạn muốn tìm hiểu thêm về ngôn ngữ lập trình Python, hãy xem hướng dẫn Cách học Python của chúng tôi.