Làm cách nào để cắt đường dẫn tệp trong python?

Sử dụng phương phá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
2 để xóa tiền tố đường dẫn. Phương thứ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
3 lấy đường dẫn và thư mục bắt đầu và trả về một đường dẫn tệp tương đối cho đường dẫn đã cho

hệ điều hành. con đường. phương thức relpath trả về một filepath tương đối đến đường dẫn đã cho từ thư mục hiện tại hoặc từ 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
4 được cung cấp

Lưu ý rằng hệ thống tệp không được truy cập để xác nhận sự tồn tại của các đối số

>>> 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 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
4 được cung cấp

Trên Windows, nếu

>>> 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 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
4 nằm trên các ổ đĩa khác nhau, một ngoại lệ
>>> 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 sẽ được đưa ra

Ngoài ra, bạn có thể sử dụng phương pháp

>>> from pathlib import Path

>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
0

Xóa tiền tố đường dẫn bằng PurePath. liên quan đên[] #

Để xóa tiền tố đường dẫn

  1. Sử dụng lớp
    >>> from pathlib import Path
    
    >>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
    # usr/bin/spam
    
    1 để tạo đối tượng đường dẫn
  2. Sử dụng phương phá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
    
    30 để xóa tiền tố đường dẫn
  3. Phương thứ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
    
    30 trả về đường dẫn tương đối cho đường dẫn được cung cấp

đường dẫn. Lớp PurePath đại diện cho hương vị đường dẫn của hệ thống

Khởi tạo lớp tạo ra 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
32 hoặc 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
33

Đường dẫn tinh khiết. Phương thức relative_to[] trả về đường dẫn tương đối đến một đường dẫn khác được xác định bởi các đối số được cung cấp

Lưu ý rằng hệ thống tệp không được truy cập để xác nhận sự tồn tại của các đường dẫn tuyệt đối và tương đối được cung cấp

Tuy nhiên, phương thức này 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
9 nếu các chuỗi không khớp

Bạn chọn cách tiếp cận nào là vấn đề sở thích cá nhân. Tôi sẽ sử dụng phương thức

>>> from pathlib import Path

>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
0 mới hơn vì nó sẽ báo lỗi nếu các chuỗi không khớp

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
5

hệ đ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 nhau

May 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
9

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

>>> 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
2

Lư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
6

Thư 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
8

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
0

Tạ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
2

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
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
5

Và 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
0

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
1

Bạ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
5

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
2

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
3

Xử 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
4

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
5

Tí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
6

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
7

Kiể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
8

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
9

Kiể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
20

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
21

Lấ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
22

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
23

danh 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
24

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
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
25

Kí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
26

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
27

Sao 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
28

Trong 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
29

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
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
1

Nế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
2

Xóa tập tin và thư mục

  • Gọ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
    
    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

  • Gọ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
    
    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

  • Gọ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
    
    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

Đ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
3

Mô-đ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

Làm cách nào để trích xuất tên tệp từ đường dẫn trong Python?

Chương trình Python để lấy tên tệp từ đường dẫn tệp .
nhập os # tên tệp có phần mở rộng file_name = os. con đường. tên cơ sở ['/root/tệp. ext'] # tên tệp không có phần mở rộng print[os. con đường. splitext[file_name][0]] Chạy mã
nhập os print[os. con đường. splitext[file_name]].
từ pathlib nhập Đường dẫn in [Đường dẫn ['/ root/file. máy lẻ']. thân cây]

Đường dẫn [__ tệp __] trong Python là gì?

Trong Python a. tệp py là một mô-đun. Vì vậy, nhập amodule sẽ có thuộc tính __file__ có nghĩa là những thứ khác nhau trong các trường hợp khác nhau. Lấy từ các tài liệu. __file__ là tên đường dẫn của tệp mà mô-đun được tải từ đó, nếu nó được tải từ một tệp .

Làm cách nào để trích xuất tên tệp từ đường dẫn?

Để trích xuất tên tệp từ tệp, chúng tôi sử dụng phương thức “GetFileName[]” của lớp “Đường dẫn” . Phương thức này được sử dụng để lấy tên tệp và phần mở rộng của chuỗi đường dẫn đã chỉ định. Giá trị trả về là null nếu đường dẫn tệp là null. cú pháp. chuỗi tĩnh công khai GetFileName [đường dẫn chuỗi];

Chủ Đề