00. 00 Giao diện chính để làm việc với đường dẫn tệp trong Python là mô-đun
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
2. Nó được tích hợp sẵn, nhưng bạn sẽ phải nhập nó để làm việc với nó00. 09 Bạn làm điều đó bằng cách gõ
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
3. Và tôi sẽ chuyển sang một phiên IDLE để làm việc cùng với những thứ mà tôi sẽ nói ở đây. Trong IDLE REPL, tôi bắt đầu bằng cách nhập >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
3 và nó cho phép tôi truy cập vào mô-đun >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
2. Bây giờ bạn làm gì với mô-đun >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
2?00. 32 Chủ yếu bạn sẽ làm việc với các đối tượng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
7. Đó là những đối tượng đại diện cho đường dẫn tệp trên hệ điều hành của bạn và bạn có thể tạo chúng theo ba cách khác nhau00. 43 Bạn có thể chuyển trực tiếp một chuỗi vào đó đại diện cho đường dẫn tệp, bạn có thể sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
8 hoặc >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
9, viết tắt của thư mục làm việc hiện tại hoặc bạn có thể sử dụng toán tử >>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
0 [dấu gạch chéo lên] cũng như một phương thức lớp khác có tên là >>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
1, 01. 06 Bạn sẽ xem xét cả ba tùy chọn này trong các bài học sắp tới và hãy bắt đầu với tùy chọn có vẻ đơn giản nhất, đó là tạo chuỗi từ một chuỗi
01. 18 Tôi ở đây trên hệ điều hành macOS. Giả sử tôi muốn biểu diễn một đường dẫn trông giống như vậy, vì vậy nó đi tới ____831, là tên người dùng của tôi trên máy tính này, sau đó tới _____832 và cuối cùng là một tệp có tên ____________________
01. 37 Đây là con đường tôi muốn đại diện. Bây giờ, cách nhanh nhất để tạo đối tượng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
7 cho đường dẫn này là chuyển giá trị này dưới dạng chuỗi. >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
35 … và sau đó tôi tạo một chuỗi, dán nội dung tôi đã viết ở đó vào nhận xét, đóng dấu ngoặc đơn và nhấn Enter01. 59 Và bạn có thể thấy rằng điều này trả về một đối tượng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
7, chỉ có giá trị của đường dẫn cụ thể này. Bây giờ bạn có thể thấy rằng nó ghi >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
37 ở đây thay vì chỉ ghi >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
702. 09 Và lý do là tôi đang dùng hệ điều hành macOS. Đó là một hệ thống dựa trên Unix, cũng giống như các hệ thống Linux. Đây là lý do tại sao nó nói
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
37. Nếu bạn đang sử dụng máy tính Windows, bạn sẽ nhận được thứ gì đó giống như >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
30 được thêm vào trước tất cả các đường dẫn mà bạn tạo trên hệ thống đó. Nếu không, nó trông khá giống nhau. Tuy nhiên, nếu bạn đang sử dụng hệ thống Windows, thì bạn có thể gặp sự cố02. 37 Đường dẫn Windows sử dụng ký tự
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
31 thay vì ký tự >>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
0 để biểu thị đường dẫn và ký tự >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
31 trong Python có ý nghĩa đặc biệt vì nó bắt đầu một chuỗi thoát, điều đó có nghĩa là nếu bạn chỉ chuyển một chuỗi đơn giản với một >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
31, thì Python sẽ chuyển sang 03. 01 Điều này sẽ phá vỡ đường dẫn Windows của bạn nếu bạn không tính đến nó và bạn sẽ gặp lỗi cú pháp. Có hai cách xung quanh nó. Thay vào đó, bạn có thể sử dụng
>>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
0, nghĩa là bạn chỉ có thể biểu thị đường dẫn Windows bằng >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
38 bình thường, nhưng sau đó thay vì sử dụng >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
31 như bình thường, bạn chỉ cần sử dụng >>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
0 thay thế03. 24 Bạn có thể làm điều đó và thư viện
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
2 biết phải làm gì với điều đó, sau đó tạo chính xác một đối tượng >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
7 trỏ đến đường dẫn cụ thể này03. 33 Một cách khác để làm điều đó là sử dụng chuỗi thô, và bạn có thể làm điều đó trong Python bằng cách đặt trước chuỗi chỉ ký tự
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
23, vì vậy bạn đặt >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
23 này trước chuỗi, sau đó bạn có thể sử dụng ký tự >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
31 như bạn muốn 03. 50 Hãy nhớ rằng điều này chỉ phù hợp với Windows vì trên các hệ thống Unix như macOS hoặc Linux, các đường dẫn đều sử dụng dấu gạch chéo lên phía trước này và đó không phải là ký tự dành riêng cho Python
Chúng tôi có thể lấy vị trí [đường dẫn] của tệp script đang chạy. py với __file__. __file__ rất hữu ích để đọc các tệp khác và nó cung cấp vị trí hiện tại của tệp đang chạy. Nó khác nhau trong các phiên bản. Trong Trăn 3. 8 trở về trước, __file__ trả về đường dẫn đã chỉ định khi thực thi lệnh Python.
Chúng ta có thể nhận được một đường dẫn tương đối nếu một đường dẫn tương đối được chỉ định. Nếu chúng tôi chỉ định một đường dẫn tuyệt đối trong os. đường dẫn. abspath[], nó sẽ được trả về như cũ, vì vậy nếu __file__ là một đường dẫn tuyệt đối, sẽ không có lỗi xảy ra ngay cả khi chúng ta đặt os. đường dẫn. abspath[__file__]
Có hai mô-đun chính trong Python xử lý thao tác đường dẫn. Một là mô-đun
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 và mô-đun kia là mô-đun >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5hệ điều hành. đường dẫn VS pathlib
Mô-đun `pathlib` đã được thêm vào Python 3. 4, cung cấp một cách hướng đối tượng để xử lý các đường dẫn hệ thống tệp
Đường dẫn Linux và Windows
Trên Windows, các đường dẫn được viết bằng dấu gạch chéo ngược [
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
6] làm dấu phân cách giữa các tên thư mục. Trên hệ điều hành dựa trên Unix như macOS, Linux và BSD, dấu gạch chéo lên [>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
7] được sử dụng làm dấu phân cách đường dẫn. Tham gia các đường dẫn có thể gây đau đầu nếu mã của bạn cần hoạt động trên các nền tảng khác nhauMay mắn thay, Python cung cấp những cách dễ dàng để xử lý việc này. Chúng tôi sẽ giới thiệu cách đối phó với cả hai,
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
8 và >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
9Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
8 trên Windows>>> import os
>>> os.path.join['usr', 'bin', 'spam']
# 'usr\\bin\\spam'
Và sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix>>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 cũng cung cấp lối tắt đến đường nối bằng cách sử dụng toán tử >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
7>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
2Lưu ý rằng dấu tách đường dẫn khác nhau giữa hệ điều hành dựa trên Windows và Unix, đó là lý do tại sao bạn muốn sử dụng một trong các phương pháp trên thay vì thêm các chuỗi lại với nhau để nối các đường dẫn với nhau
Tham gia các đường dẫn rất hữu ích nếu bạn cần tạo các đường dẫn tệp khác nhau trong cùng một thư mục
Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
8 trên Windows>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
6Thư mục làm việc hiện tại
Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
66 trên Windows>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
8Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
0Tạo thư mục mới
Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
66 trên Windows>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
2Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4Ồ không, chúng tôi đã gặp một lỗi khó chịu. Lý do là thư mục 'ngon' không tồn tại, vì vậy chúng tôi không thể tạo các thư mục 'quả óc chó' và 'bánh quế' trong đó. Để khắc phục điều này, hãy làm
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5Và tất cả đều tốt. ]
tuyệt đối so với. đường dẫn tương đối
Có hai cách để chỉ định đường dẫn tệp
- Một đường dẫn tuyệt đối, luôn bắt đầu với thư mục gốc
- Một đường dẫn tương đối, có liên quan đến thư mục làm việc hiện tại của chương trình
Ngoài ra còn có các thư mục dot [
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
80] và dot-dot [>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
81]. Đây không phải là những thư mục thực, mà là những tên đặc biệt có thể được sử dụng trong một đường dẫn. Một dấu chấm ["dấu chấm"] cho tên thư mục là cách viết tắt của "thư mục này. ” Hai dấu chấm [“chấm-chấm”] có nghĩa là “thư mục mẹ. ”Xử lý đường dẫn tuyệt đối
Để xem nếu một đường dẫn là một đường dẫn tuyệt đối
Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 trên *nix>>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
0Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix>>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
1Bạn có thể trích xuất một đường dẫn tuyệt đối với cả
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 và >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 trên *nix>>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
2Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix>>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
3Xử lý đường dẫn tương đối
Bạn có thể nhận được một đường dẫn tương đối từ một đường dẫn bắt đầu đến một đường dẫn khác
Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 trên *nix>>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
4Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix>>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
5Tính hợp lệ của đường dẫn và tệp
Kiểm tra xem tệp/thư mục có tồn tại không
Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 trên *nix>>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
6Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix>>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
7Kiểm tra xem đường dẫn có phải là tệp không
Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 trên *nix>>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
8Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix>>> from pathlib import Path
>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
9Kiểm tra xem đường dẫn có phải là thư mục không
Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 trên *nix>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
20Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
21Lấy kích thước của tệp theo byte
Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 trên Windows>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
22Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
23danh sách thư mục
Liệt kê nội dung thư mục bằng cách sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
08 trên Windows>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
24Liệt kê nội dung thư mục bằng cách sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
25Kích thước tệp thư mục
CẢNH BÁO
Bản thân các thư mục cũng có kích thước. Vì vậy, bạn có thể muốn kiểm tra xem đường dẫn có phải là tệp hoặc thư mục hay không bằng cách sử dụng các phương thức trong các phương thức được thảo luận trong phần trên
Sử dụng đồng thời
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
20 và >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
21 trên Windows>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
26Sử dụng
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
27Sao chép tập tin và thư mục
Mô-đun
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
23 cung cấp chức năng sao chép tệp, cũng như toàn bộ thư mục>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
28Trong khi
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
24 sẽ sao chép một tệp, thì >>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
25 sẽ sao chép toàn bộ thư mục và mọi thư mục và tệp có trong đó>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
29Di chuyển và đổi tên
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
0Đường dẫn đích cũng có thể chỉ định tên tệp. Trong ví dụ sau, tệp nguồn được di chuyển và đổi tên
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
1Nếu không có thư mục egg thì
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
26 sẽ đổi tên thành bacon. txt vào một tệp có tên là egg>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
2Xóa tập tin và thư mục
Gọi
27 hoặc>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx'] >>> for filename in my_files: ... print[os.path.join['C:\\Users\\asweigart', filename]] ... # C:\Users\asweigart\accounts.txt # C:\Users\asweigart\details.csv # C:\Users\asweigart\invite.docx
28 sẽ xóa tệp tại đường dẫn>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx'] >>> for filename in my_files: ... print[os.path.join['C:\\Users\\asweigart', filename]] ... # C:\Users\asweigart\accounts.txt # C:\Users\asweigart\details.csv # C:\Users\asweigart\invite.docx
Gọi
29 hoặc>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx'] >>> for filename in my_files: ... print[os.path.join['C:\\Users\\asweigart', filename]] ... # C:\Users\asweigart\accounts.txt # C:\Users\asweigart\details.csv # C:\Users\asweigart\invite.docx
40 sẽ xóa thư mục tại đường dẫn. Thư mục này phải trống bất kỳ tệp hoặc thư mục nào>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx'] >>> for filename in my_files: ... print[os.path.join['C:\\Users\\asweigart', filename]] ... # C:\Users\asweigart\accounts.txt # C:\Users\asweigart\details.csv # C:\Users\asweigart\invite.docx
Gọi
41 sẽ xóa thư mục tại đường dẫn và tất cả các tệp và thư mục chứa trong đó cũng sẽ bị xóa>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx'] >>> for filename in my_files: ... print[os.path.join['C:\\Users\\asweigart', filename]] ... # C:\Users\asweigart\accounts.txt # C:\Users\asweigart\details.csv # C:\Users\asweigart\invite.docx
Đi bộ trên cây thư mục
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in my_files:
... print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
3Mô-đun Pathlib vs Os
`pathlib` cung cấp nhiều chức năng hơn những chức năng được liệt kê ở trên, như lấy tên tệp, lấy phần mở rộng tệp, đọc/ghi tệp mà không cần mở tệp theo cách thủ công, v.v. Xem tài liệu chính thức nếu bạn muốn biết thêm