Kích thước tệp toàn cầu Python

Nếu bạn muốn thao tác với đường dẫn Windows trên máy Unix [hoặc ngược lại]. Bạn không thể khởi tạo một

>>> PurePath['foo', 'some/path', 'bar']
PurePosixPath['foo/some/path/bar']
>>> PurePath[Path['foo'], Path['bar']]
PurePosixPath['foo/bar']
7 khi chạy trên Unix, nhưng bạn có thể khởi tạo một
>>> PurePath['foo', 'some/path', 'bar']
PurePosixPath['foo/some/path/bar']
>>> PurePath[Path['foo'], Path['bar']]
PurePosixPath['foo/bar']
8

  • Bạn muốn đảm bảo rằng mã của bạn chỉ thao tác với các đường dẫn mà không thực sự truy cập vào hệ điều hành. Trong trường hợp này, việc khởi tạo một trong các lớp thuần túy có thể hữu ích vì đơn giản là chúng không có bất kỳ thao tác truy cập hệ điều hành nào

  • Xem thêm

    PEP 428. Mô-đun pathlib – đường dẫn hệ thống tệp hướng đối tượng

    Xem thêm

    Đối với thao tác đường dẫn cấp thấp trên chuỗi, bạn cũng có thể sử dụng mô-đun

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    9

    Sử dụng cơ bản¶

    Nhập lớp chính

    >>> from pathlib import Path
    

    Liệt kê các thư mục con

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    

    Liệt kê các tệp nguồn Python trong cây thư mục này

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    

    Điều hướng bên trong cây thư mục

    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    

    Truy vấn thuộc tính đường dẫn

    >>> q.exists[]
    True
    >>> q.is_dir[]
    False
    

    Mở một tập tin

    ________số 8

    Con đường thuần túy¶

    Các đối tượng đường dẫn thuần túy cung cấp các hoạt động xử lý đường dẫn không thực sự truy cập hệ thống tệp. Có ba cách để truy cập các lớp này, mà chúng tôi còn gọi là hương vị

    lớp pathlib. PurePath[*phân đoạn đường dẫn]

    Một lớp chung đại diện cho hương vị đường dẫn của hệ thống [khởi tạo nó tạo ra một

    >>> PurePath[]
    PurePosixPath['.']
    
    0 hoặc một
    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    8]

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    1

    Mỗi phần tử của phân đoạn đường dẫn có thể là một chuỗi đại diện cho một phân đoạn đường dẫn, một đối tượng triển khai giao diện

    >>> PurePath[]
    PurePosixPath['.']
    
    2 trả về một chuỗi hoặc một đối tượng đường dẫn khác

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    

    Khi đường dẫn trống, thư mục hiện tại được giả định

    >>> PurePath[]
    PurePosixPath['.']
    

    Khi một số đường dẫn tuyệt đối được đưa ra, đường dẫn cuối cùng được coi là điểm neo [bắt chước hành vi của

    >>> PurePath[]
    PurePosixPath['.']
    
    3]

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    6

    Tuy nhiên, trong đường dẫn Windows, việc thay đổi gốc cục bộ không loại bỏ cài đặt ổ đĩa trước đó

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    0

    Dấu gạch chéo giả và dấu chấm đơn bị thu gọn, nhưng dấu chấm đôi [

    >>> PurePath[]
    PurePosixPath['.']
    
    4] và dấu gạch chéo kép ở đầu [
    >>> PurePath[]
    PurePosixPath['.']
    
    5] thì không, vì điều này sẽ thay đổi ý nghĩa của đường dẫn vì nhiều lý do [e. g. liên kết tượng trưng, ​​đường dẫn UNC]

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    1

    [một cách tiếp cận ngây thơ sẽ làm cho

    >>> PurePath[]
    PurePosixPath['.']
    
    6 tương đương với
    >>> PurePath[]
    PurePosixPath['.']
    
    7, điều này là sai nếu
    >>> PurePath[]
    PurePosixPath['.']
    
    8 là một liên kết tượng trưng đến một thư mục khác]

    Các đối tượng đường dẫn thuần túy triển khai giao diện

    >>> PurePath[]
    PurePosixPath['.']
    
    2, cho phép chúng được sử dụng ở bất kỳ đâu mà giao diện được chấp nhận

    Đã thay đổi trong phiên bản 3. 6. Đã thêm hỗ trợ cho giao diện

    >>> PurePath[]
    PurePosixPath['.']
    
    2.

    lớp pathlib. Đường dẫn PurePosix[*phân đoạn đường dẫn]

    Một lớp con của

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    61, hương vị đường dẫn này đại diện cho các đường dẫn hệ thống tệp không phải của Windows

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    2

    phân đoạn đường dẫn được chỉ định tương tự như

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    61

    lớp pathlib. PureWindowsPath[*đoạn đường dẫn]

    Một lớp con của

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    61, hương vị đường dẫn này đại diện cho các đường dẫn hệ thống tệp Windows, bao gồm các đường dẫn UNC

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    3

    phân đoạn đường dẫn được chỉ định tương tự như

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    61

    Bất kể bạn đang chạy trên hệ thống nào, bạn có thể khởi tạo tất cả các lớp này, vì chúng không cung cấp bất kỳ thao tác nào thực hiện lời gọi hệ thống

    Thuộc tính chung¶

    Đường dẫn là bất biến và có thể băm. Các đường dẫn có cùng hương vị có thể so sánh và sắp xếp được. Các thuộc tính này tôn trọng ngữ nghĩa trường hợp gấp của hương vị

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    4

    Đường dẫn của một hương vị khác so sánh không bằng nhau và không thể được sắp xếp

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    5

    Toán tử¶

    Toán tử gạch chéo giúp tạo các đường dẫn con, tương tự như

    >>> PurePath[]
    PurePosixPath['.']
    
    3

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    6

    Một đối tượng đường dẫn có thể được sử dụng ở bất cứ nơi nào một đối tượng triển khai

    >>> PurePath[]
    PurePosixPath['.']
    
    2 được chấp nhận

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    7

    Biểu diễn chuỗi của một đường dẫn là chính đường dẫn hệ thống tệp thô [ở dạng gốc, e. g. với dấu gạch chéo ngược trong Windows], mà bạn có thể chuyển đến bất kỳ chức năng nào lấy đường dẫn tệp dưới dạng chuỗi

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    8

    Tương tự, gọi

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    67 trên một đường dẫn sẽ cung cấp đường dẫn hệ thống tệp thô dưới dạng đối tượng byte, như được mã hóa bởi
    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    68

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    9

    Ghi chú

    Gọi

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    67 chỉ được khuyến nghị trong Unix. Trong Windows, dạng unicode là biểu diễn chuẩn của các đường dẫn hệ thống tệp

    Truy cập các bộ phận riêng lẻ¶

    Để truy cập từng “phần” [thành phần] của đường dẫn, hãy sử dụng thuộc tính sau

    PurePath. bộ phận

    Một bộ cung cấp quyền truy cập vào các thành phần khác nhau của đường dẫn

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    0

    [lưu ý cách ổ đĩa và gốc cục bộ được nhóm lại trong một phần]

    Phương thức và thuộc tính¶

    Đường dẫn thuần túy cung cấp các phương thức và thuộc tính sau

    PurePath. lái xe

    Một chuỗi đại diện cho ký tự ổ đĩa hoặc tên, nếu có

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    1

    Cổ phiếu UNC cũng được coi là ổ

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    2

    PurePath. gốc

    Một chuỗi đại diện cho gốc [cục bộ hoặc toàn cầu], nếu có

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    3

    Cổ phiếu UNC luôn có gốc

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    4

    Nếu đường dẫn bắt đầu với nhiều hơn hai dấu gạch chéo liên tiếp,

    >>> PurePath[]
    PurePosixPath['.']
    
    0 sẽ thu gọn chúng

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    5

    Ghi chú

    Hành vi này tuân theo Thông số kỹ thuật cơ sở nhóm mở Vấn đề 6, đoạn 4. 11 Độ phân giải tên đường dẫn

    “Tên đường dẫn bắt đầu bằng hai dấu gạch chéo liên tiếp có thể được diễn giải theo cách do triển khai xác định, mặc dù nhiều hơn hai dấu gạch chéo đầu sẽ được coi là một dấu gạch chéo. ”

    PurePath. neo

    Sự kết hợp của ổ đĩa và gốc

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    6

    PurePath. cha mẹ

    Một chuỗi bất biến cung cấp quyền truy cập vào tổ tiên hợp lý của đường dẫn

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    7

    Đã thay đổi trong phiên bản 3. 10. Trình tự gốc hiện hỗ trợ lát và các giá trị chỉ mục phủ định.

    PurePath. cha mẹ

    Cha mẹ hợp lý của đường dẫn

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    8

    Bạn không thể đi qua mỏ neo hoặc đường dẫn trống

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    9

    Ghi chú

    Đây là một hoạt động thuần túy từ vựng, do đó hành vi sau đây

    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    
    0

    Nếu bạn muốn đi theo đường dẫn hệ thống tệp tùy ý trở lên, trước tiên bạn nên gọi

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    01 để giải quyết các liên kết tượng trưng và loại bỏ các thành phần
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    02

    PurePath. tên

    Một chuỗi đại diện cho thành phần đường dẫn cuối cùng, không bao gồm ổ đĩa và gốc, nếu có

    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    
    1

    Tên ổ đĩa UNC không được xem xét

    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    
    2

    PurePath. hậu tố

    Phần mở rộng tệp của thành phần cuối cùng, nếu có

    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    
    3

    PurePath. hậu tố

    Danh sách các phần mở rộng tệp của đường dẫn

    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    
    4

    PurePath. thân cây

    Thành phần đường dẫn cuối cùng, không có hậu tố

    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    
    5

    PurePath. as_posix[]

    Trả về một chuỗi đại diện của đường dẫn với dấu gạch chéo về phía trước [

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    03]

    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    
    6

    PurePath. as_uri[]

    Trình bày đường dẫn dưới dạng URI

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    04.
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    05 được nâng lên nếu đường dẫn không tuyệt đối

    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    
    7

    PurePath. is_absolute[]

    Trả về đường dẫn có tuyệt đối hay không. Một đường dẫn được coi là tuyệt đối nếu nó có cả gốc và [nếu hương vị cho phép] một ổ đĩa

    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    
    8

    PurePath. is_relative_to[*khác]

    Trả về đường dẫn này có liên quan đến đường dẫn kia hay không

    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    
    9

    Mới trong phiên bản 3. 9

    PurePath. is_reserve[]

    Với

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    8, trả về
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    07 nếu đường dẫn được coi là dành riêng trong Windows, nếu không thì là
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08. Với
    >>> PurePath[]
    PurePosixPath['.']
    
    0,
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 luôn được trả về

    >>> q.exists[]
    True
    >>> q.is_dir[]
    False
    
    0

    Các cuộc gọi hệ thống tệp trên các đường dẫn dành riêng có thể thất bại một cách bí ẩn hoặc có tác dụng ngoài ý muốn

    PurePath. đường dẫn tham gia[*khác]

    Gọi phương thức này tương đương với việc kết hợp lần lượt đường dẫn với từng đối số khác

    >>> q.exists[]
    True
    >>> q.is_dir[]
    False
    
    1

    PurePath. khớp[mẫu]

    Khớp đường dẫn này với mẫu kiểu toàn cầu được cung cấp. Trả lại

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    07 nếu khớp thành công, ngược lại là
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08

    Nếu mẫu là tương đối, đường dẫn có thể là tương đối hoặc tuyệt đối và việc khớp được thực hiện từ bên phải

    >>> q.exists[]
    True
    >>> q.is_dir[]
    False
    
    2

    Nếu mẫu là tuyệt đối, đường dẫn phải tuyệt đối và toàn bộ đường dẫn phải khớp

    >>> q.exists[]
    True
    >>> q.is_dir[]
    False
    
    3

    Cũng như các phương pháp khác, phân biệt chữ hoa chữ thường tuân theo các giá trị mặc định của nền tảng

    >>> q.exists[]
    True
    >>> q.is_dir[]
    False
    
    4

    PurePath. tương_đối[*khác]

    Tính toán phiên bản của đường dẫn này so với đường dẫn được đại diện bởi đường dẫn khác. Nếu không thể, ValueError được nâng lên

    >>> q.exists[]
    True
    >>> q.is_dir[]
    False
    
    5

    GHI CHÚ. Hàm này là một phần của

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    61 và hoạt động với các chuỗi. Nó không kiểm tra hoặc truy cập cấu trúc tệp cơ bản

    PurePath. with_name[tên]

    Trả về một đường dẫn mới với

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    14 đã thay đổi. Nếu đường dẫn ban đầu không có tên, ValueError sẽ được nâng lên

    >>> q.exists[]
    True
    >>> q.is_dir[]
    False
    
    6

    PurePath. with_stem[stem]

    Trả lại một đường dẫn mới với

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    15 đã thay đổi. Nếu đường dẫn ban đầu không có tên, ValueError sẽ được nâng lên

    >>> q.exists[]
    True
    >>> q.is_dir[]
    False
    
    7

    Mới trong phiên bản 3. 9

    PurePath. with_suffix[hậu tố]

    Trả lại một đường dẫn mới với

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    16 đã thay đổi. Nếu đường dẫn ban đầu không có hậu tố, thay vào đó, hậu tố mới sẽ được thêm vào. Nếu hậu tố là một chuỗi rỗng, hậu tố ban đầu sẽ bị xóa

    >>> q.exists[]
    True
    >>> q.is_dir[]
    False
    
    8

    Đường bê tông¶

    Đường dẫn cụ thể là các lớp con của các lớp đường dẫn thuần túy. Ngoài các hoạt động do cái sau cung cấp, chúng cũng cung cấp các phương thức để thực hiện các cuộc gọi hệ thống trên các đối tượng đường dẫn. Có ba cách để khởi tạo các đường dẫn cụ thể

    lớp pathlib. Đường dẫn[*đoạn đường dẫn]

    Một lớp con của

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    61, lớp này đại diện cho các đường dẫn cụ thể của hương vị đường dẫn của hệ thống [khởi tạo nó tạo ra một
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    18 hoặc một
    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    7]

    >>> q.exists[]
    True
    >>> q.is_dir[]
    False
    
    9

    phân đoạn đường dẫn được chỉ định tương tự như

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    61

    lớp pathlib. Đường dẫn Posix[*đoạn đường dẫn]

    Một lớp con của

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    6 và
    >>> PurePath[]
    PurePosixPath['.']
    
    0, lớp này đại diện cho các đường dẫn hệ thống tệp không phải Windows cụ thể

    >>> with q.open[] as f: f.readline[]
    ...
    '#!/bin/bash\n'
    
    0

    phân đoạn đường dẫn được chỉ định tương tự như

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    61

    lớp pathlib. Đường dẫn Windows[*đoạn đường dẫn]

    Một lớp con của

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    6 và
    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    8, lớp này đại diện cho các đường dẫn hệ thống tệp Windows cụ thể

    >>> with q.open[] as f: f.readline[]
    ...
    '#!/bin/bash\n'
    
    1

    phân đoạn đường dẫn được chỉ định tương tự như

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    61

    Bạn chỉ có thể khởi tạo hương vị lớp tương ứng với hệ thống của mình [việc cho phép hệ thống gọi các hương vị đường dẫn không tương thích có thể dẫn đến lỗi hoặc lỗi trong ứng dụng của bạn]

    >>> with q.open[] as f: f.readline[]
    ...
    '#!/bin/bash\n'
    
    2

    Phương pháp¶

    Đường bê tông cung cấp các phương thức sau ngoài các phương thức đường dẫn thuần túy. Nhiều phương pháp trong số này có thể tăng

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    27 nếu lệnh gọi hệ thống không thành công [ví dụ: do đường dẫn không tồn tại]

    Đã thay đổi trong phiên bản 3. 8. ______428,

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    29,
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    30,
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    31,
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    32,
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    33,
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    34,
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    35,
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    36 bây giờ trả về
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 thay vì tăng ngoại lệ cho các đường dẫn chứa các ký tự không thể biểu diễn ở cấp hệ điều hành.

    phương thức lớp Đường dẫn. cwd[]

    Trả về một đối tượng đường dẫn mới đại diện cho thư mục hiện tại [được trả về bởi

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    38]

    >>> with q.open[] as f: f.readline[]
    ...
    '#!/bin/bash\n'
    
    3

    phương thức lớp Đường dẫn. nhà[]

    Trả về một đối tượng đường dẫn mới đại diện cho thư mục chính của người dùng [như được trả về bởi

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    39 với cấu trúc
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    40]. Nếu thư mục chính không thể được giải quyết,
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    41 được nâng lên

    >>> with q.open[] as f: f.readline[]
    ...
    '#!/bin/bash\n'
    
    4

    Mới trong phiên bản 3. 5

    Đường dẫn. stat[* , follow_symlinks=True]

    Trả về một đối tượng

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    42 chứa thông tin về đường dẫn này, chẳng hạn như
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    43. Kết quả được tra cứu ở mỗi cuộc gọi đến phương thức này

    Phương pháp này thường đi theo các liên kết tượng trưng;

    >>> with q.open[] as f: f.readline[]
    ...
    '#!/bin/bash\n'
    
    5

    Đã thay đổi trong phiên bản 3. 10. Tham số follow_symlinks đã được thêm vào.

    Đường dẫn. chmod[chế độ , *, follow_symlinks=True]

    Thay đổi chế độ tệp và quyền, như

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    46

    Phương pháp này thường theo các liên kết tượng trưng. Một số hương vị Unix hỗ trợ thay đổi quyền trên chính liên kết tượng trưng;

    >>> with q.open[] as f: f.readline[]
    ...
    '#!/bin/bash\n'
    
    6

    Đã thay đổi trong phiên bản 3. 10. Tham số follow_symlinks đã được thêm vào.

    Đường dẫn. tồn tại[]

    Đường dẫn có trỏ đến một tệp hoặc thư mục hiện có hay không

    >>> with q.open[] as f: f.readline[]
    ...
    '#!/bin/bash\n'
    
    7

    Ghi chú

    Nếu đường dẫn trỏ đến một liên kết tượng trưng, ​​​​_______428 trả về xem liên kết tượng trưng có trỏ đến một tệp hoặc thư mục hiện có hay không

    Đường dẫn. trình mở rộng[]

    Trả về một đường dẫn mới với các cấu trúc

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    40 và
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    51 được mở rộng, như được trả về bởi
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    39. Nếu một thư mục chính không thể được giải quyết,
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    41 được nâng lên

    >>> with q.open[] as f: f.readline[]
    ...
    '#!/bin/bash\n'
    
    8

    Mới trong phiên bản 3. 5

    Đường dẫn. toàn cầu[mẫu]

    Toàn cầu mẫu tương đối đã cho trong thư mục được đại diện bởi đường dẫn này, mang lại tất cả các tệp phù hợp [thuộc bất kỳ loại nào]

    >>> with q.open[] as f: f.readline[]
    ...
    '#!/bin/bash\n'
    
    9

    Các mẫu tương tự như đối với

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    54, với việc bổ sung “
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    55” có nghĩa là “thư mục này và tất cả các thư mục con, theo cách đệ quy”. Nói cách khác, nó cho phép toàn cầu hóa đệ quy

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    10

    Ghi chú

    Sử dụng mẫu “

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    55” trong các cây thư mục lớn có thể tiêu tốn một lượng thời gian không đáng có

    Tăng sự kiện kiểm tra

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    57 với các đối số
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    58,
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    59.

    Đã thay đổi trong phiên bản 3. 11. Chỉ trả về các thư mục nếu mẫu kết thúc bằng dấu tách thành phần tên đường dẫn [

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    60 hoặc
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    61].

    Đường dẫn. nhóm[]

    Trả về tên của nhóm sở hữu tệp.

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    62 được nâng lên nếu gid của tệp không được tìm thấy trong cơ sở dữ liệu hệ thống

    Đường dẫn. is_dir[]

    Trả về

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    07 nếu đường dẫn trỏ đến một thư mục [hoặc một liên kết tượng trưng trỏ đến một thư mục],
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 nếu nó trỏ đến một loại tệp khác

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 cũng được trả về nếu đường dẫn không tồn tại hoặc là một liên kết tượng trưng bị hỏng;

    Đường dẫn. is_file[]

    Trả về

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    07 nếu đường dẫn trỏ đến một tệp thông thường [hoặc một liên kết tượng trưng trỏ đến một tệp thông thường],
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 nếu nó trỏ đến một loại tệp khác

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 cũng được trả về nếu đường dẫn không tồn tại hoặc là một liên kết tượng trưng bị hỏng;

    Đường dẫn. is_mount[]

    Trả lại

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    07 nếu đường dẫn là điểm gắn kết. một điểm trong hệ thống tệp nơi một hệ thống tệp khác đã được gắn kết. Trên POSIX, chức năng kiểm tra xem cha của đường dẫn,
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    70, có nằm trên một thiết bị khác với đường dẫn hay không hoặc liệu
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    70 và đường dẫn có trỏ đến cùng một i-node trên cùng một thiết bị hay không — điều này sẽ phát hiện các điểm gắn kết cho tất cả các biến thể Unix và POSIX. Không được triển khai trên Windows

    Mới trong phiên bản 3. 7

    Đường dẫn. is_symlink[]

    Trả lại

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    07 nếu đường dẫn trỏ đến liên kết tượng trưng, ​​ngược lại là
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 cũng được trả về nếu đường dẫn không tồn tại;

    Đường dẫn. is_socket[]

    Trả về

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    07 nếu đường dẫn trỏ đến một ổ cắm Unix [hoặc một liên kết tượng trưng trỏ đến một ổ cắm Unix],
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 nếu nó trỏ đến một loại tệp khác

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 cũng được trả về nếu đường dẫn không tồn tại hoặc là một liên kết tượng trưng bị hỏng;

    Đường dẫn. is_fifo[]

    Trả về

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    07 nếu đường dẫn trỏ đến một FIFO [hoặc một liên kết tượng trưng trỏ đến một FIFO],
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 nếu nó trỏ đến một loại tệp khác

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 cũng được trả về nếu đường dẫn không tồn tại hoặc là một liên kết tượng trưng bị hỏng;

    Đường dẫn. is_block_device[]

    Trả về

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    07 nếu đường dẫn trỏ đến thiết bị khối [hoặc liên kết tượng trưng trỏ đến thiết bị khối],
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 nếu nó trỏ đến loại tệp khác

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 cũng được trả về nếu đường dẫn không tồn tại hoặc là một liên kết tượng trưng bị hỏng;

    Đường dẫn. is_char_device[]

    Trả về

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    07 nếu đường dẫn trỏ đến một thiết bị ký tự [hoặc một liên kết tượng trưng trỏ đến một thiết bị ký tự],
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 nếu nó trỏ đến một loại tệp khác

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08 cũng được trả về nếu đường dẫn không tồn tại hoặc là một liên kết tượng trưng bị hỏng;

    Đường dẫn. iterdir[]

    Khi đường dẫn trỏ đến một thư mục, hãy tạo ra các đối tượng đường dẫn của nội dung thư mục

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    11

    Các phần tử con được tạo ra theo thứ tự tùy ý và không bao gồm các phần tử đặc biệt

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    87 và
    >>> PurePath[]
    PurePosixPath['.']
    
    4. Nếu một tệp bị xóa khỏi hoặc được thêm vào thư mục sau khi tạo trình vòng lặp, liệu một đối tượng đường dẫn cho tệp đó có được đưa vào hay không là không xác định

    Đường dẫn. lchmod[chế độ]

    Giống như

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    89 nhưng, nếu đường dẫn trỏ đến một liên kết tượng trưng, ​​chế độ của liên kết tượng trưng sẽ bị thay đổi thay vì mục tiêu của nó

    Đường dẫn. lstat[]

    Giống như

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    90, nhưng, nếu đường dẫn trỏ đến một liên kết tượng trưng, ​​hãy trả về thông tin của liên kết tượng trưng thay vì mục tiêu của nó

    Đường dẫn. mkdir[chế độ=0o777, parents=False, exist_ok=False]

    Tạo một thư mục mới tại đường dẫn đã cho này. Nếu chế độ được cung cấp, nó sẽ được kết hợp với giá trị

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    91 của quy trình để xác định chế độ tệp và cờ truy cập. Nếu đường dẫn đã tồn tại,
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    92 được nâng lên

    Nếu cha mẹ là đúng, bất kỳ cha mẹ bị thiếu nào của đường dẫn này đều được tạo khi cần thiết;

    Nếu cha mẹ là sai [mặc định], cha mẹ bị thiếu sẽ tăng

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    94

    Nếu tồn tại_ok là sai [mặc định],

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    92 được nâng lên nếu thư mục đích đã tồn tại

    Nếu tồn tại_ok là đúng, các ngoại lệ

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    92 sẽ bị bỏ qua [hành vi tương tự như lệnh POSIX
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    93], nhưng chỉ khi thành phần đường dẫn cuối cùng không phải là tệp không có thư mục hiện có

    Đã thay đổi trong phiên bản 3. 5. Tham số tồn tại đã được thêm vào.

    Đường dẫn. mở[chế độ=', buffering=- 1, encoding=None, errors=None, newline=None]

    Mở tệp được trỏ đến bởi đường dẫn, giống như chức năng

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    98 tích hợp

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    12

    Đường dẫn. chủ sở hữu[]

    Trả về tên của người dùng sở hữu tệp.

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    62 được nâng lên nếu uid của tệp không được tìm thấy trong cơ sở dữ liệu hệ thống

    Đường dẫn. read_byte[]

    Trả về nội dung nhị phân của tệp trỏ tới dưới dạng đối tượng byte

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    13

    Mới trong phiên bản 3. 5

    Đường dẫn. read_text[mã hóa=Không, errors=None]

    Trả lại nội dung đã giải mã của tệp trỏ tới dưới dạng chuỗi

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    14

    Tệp được mở rồi đóng lại. Các tham số tùy chọn có cùng ý nghĩa như trong

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    98

    Mới trong phiên bản 3. 5

    Đường dẫn. liên kết đọc[]

    Trả lại đường dẫn mà liên kết tượng trưng trỏ đến [như được trả về bởi

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    01]

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    15

    Mới trong phiên bản 3. 9

    Đường dẫn. đổi tên[mục tiêu]

    Đổi tên tệp hoặc thư mục này thành mục tiêu đã cho và trả về một phiên bản Đường dẫn mới trỏ đến mục tiêu. Trên Unix, nếu mục tiêu tồn tại và là một tệp, nó sẽ được thay thế âm thầm nếu người dùng có quyền. Trên Windows, nếu mục tiêu tồn tại,

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    92 sẽ được nâng lên. mục tiêu có thể là một chuỗi hoặc một đối tượng đường dẫn khác

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    16

    Đường dẫn đích có thể là tuyệt đối hoặc tương đối. Đường dẫn tương đối được giải thích tương ứng với thư mục làm việc hiện tại, không phải thư mục của đối tượng Đường dẫn

    Đã thay đổi trong phiên bản 3. 8. Đã thêm giá trị trả về, trả về phiên bản Đường dẫn mới.

    Đường dẫn. thay thế[mục tiêu]

    Đổi tên tệp hoặc thư mục này thành mục tiêu đã cho và trả về một phiên bản Đường dẫn mới trỏ đến mục tiêu. Nếu mục tiêu trỏ đến một tệp hiện có hoặc thư mục trống, nó sẽ bị thay thế vô điều kiện

    Đường dẫn đích có thể là tuyệt đối hoặc tương đối. Đường dẫn tương đối được giải thích tương ứng với thư mục làm việc hiện tại, không phải thư mục của đối tượng Đường dẫn

    Đã thay đổi trong phiên bản 3. 8. Đã thêm giá trị trả về, trả về phiên bản Đường dẫn mới.

    Đường dẫn. tuyệt đối[]

    Tạo đường dẫn tuyệt đối, không cần chuẩn hóa hoặc giải quyết các liên kết tượng trưng. Trả về một đối tượng đường dẫn mới

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    17

    Đường dẫn. giải quyết[nghiêm ngặt=Sai]

    Tạo đường dẫn tuyệt đối, giải quyết mọi liên kết tượng trưng. Một đối tượng đường dẫn mới được trả lại

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    18

    Các thành phần “

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    03” cũng bị loại bỏ [đây là phương pháp duy nhất để làm như vậy]

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    19

    Nếu đường dẫn không tồn tại và nghiêm ngặt là

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    07, thì
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    94 được nâng lên. Nếu nghiêm ngặt là
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08, đường dẫn được giải quyết càng nhiều càng tốt và mọi phần còn lại được thêm vào mà không cần kiểm tra xem nó có tồn tại không. Nếu gặp phải một vòng lặp vô hạn dọc theo đường dẫn phân giải, thì
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    41 sẽ được nâng lên

    Mới trong phiên bản 3. 6. Lập luận chặt chẽ [pre-3. 6 hành vi là nghiêm ngặt].

    Đường dẫn. rglob[mẫu]

    Điều này giống như gọi

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    08 với “
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    09” được thêm vào trước mẫu tương đối đã cho

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    0

    Tăng sự kiện kiểm tra

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    10 với các đối số
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    58,
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    59.

    Đã thay đổi trong phiên bản 3. 11. Chỉ trả về các thư mục nếu mẫu kết thúc bằng dấu tách thành phần tên đường dẫn [

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    60 hoặc
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    61].

    Đường dẫn. rmdir[]

    Xóa thư mục này. Thư mục phải trống

    Đường dẫn. samefile[other_path]

    Trả về liệu đường dẫn này có trỏ đến cùng một tệp với other_path hay không, có thể là đối tượng Đường dẫn hoặc chuỗi. Ngữ nghĩa tương tự như

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    15 và
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    16

    Một

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    27 có thể được nâng lên nếu một trong hai tệp không thể truy cập được vì lý do nào đó

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    1

    Mới trong phiên bản 3. 5

    Đường dẫn. symlink_to[đích , đích_là_thư mục=False]

    Biến đường dẫn này thành một liên kết tượng trưng để nhắm mục tiêu. Trong Windows, target_is_directory phải đúng [mặc định là

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    08] nếu đích của liên kết là một thư mục. Trong POSIX, giá trị của target_is_directory bị bỏ qua

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    2

    Ghi chú

    Thứ tự của các đối số [liên kết, mục tiêu] là đảo ngược của

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    19

    Đường dẫn. hardlink_to[mục tiêu]

    Biến đường dẫn này thành một liên kết cứng đến cùng một tệp với mục tiêu

    Ghi chú

    Thứ tự của các đối số [liên kết, mục tiêu] là đảo ngược của

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    20

    Mới trong phiên bản 3. 10

    Đường dẫn. link_to[mục tiêu]

    Đặt mục tiêu là một liên kết cứng đến đường dẫn này

    Cảnh báo

    Hàm này không làm cho đường dẫn này trở thành một liên kết cứng để nhắm mục tiêu, bất chấp hàm ý của tên hàm và đối số. Thứ tự đối số [mục tiêu, liên kết] ngược lại với

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    21 và
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    22, nhưng khớp với thứ tự của
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    20

    Mới trong phiên bản 3. 8

    Không dùng nữa kể từ phiên bản 3. 10. Phương pháp này không được dùng để ủng hộ

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    22, vì thứ tự đối số của
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    25 không khớp với thứ tự của
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    21.

    Đường dẫn. chạm[chế độ=0o666, exist_ok=True]

    Tạo một tệp tại đường dẫn đã cho này. Nếu chế độ được cung cấp, nó sẽ được kết hợp với giá trị

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    91 của quy trình để xác định chế độ tệp và cờ truy cập. Nếu tệp đã tồn tại, chức năng thành công nếu tồn tại_ok là đúng [và thời gian sửa đổi của nó được cập nhật đến thời điểm hiện tại], nếu không thì
    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    92 được nâng lên

    Đường dẫn. hủy liên kết[missing_ok=Sai]

    Xóa tệp này hoặc liên kết tượng trưng. Nếu đường dẫn trỏ đến một thư mục, hãy sử dụng

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    29 để thay thế

    Nếu missing_ok là sai [mặc định], thì

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    94 được nâng lên nếu đường dẫn không tồn tại

    Nếu missing_ok là đúng, các ngoại lệ của

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    94 sẽ bị bỏ qua [hành vi tương tự như lệnh POSIX
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    32]

    Đã thay đổi trong phiên bản 3. 8. Thông số thiếu_ok đã được thêm vào.

    Đường dẫn. write_byte[dữ liệu]

    Mở tệp được trỏ tới ở chế độ byte, ghi dữ liệu vào tệp và đóng tệp

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    13

    Một tệp hiện có cùng tên bị ghi đè

    Mới trong phiên bản 3. 5

    Đường dẫn. write_text[dữ liệu , mã hóa=None, errors=None, newline=None]

    Mở tệp được trỏ tới ở chế độ văn bản, ghi dữ liệu vào tệp và đóng tệp

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    14

    Một tệp hiện có cùng tên bị ghi đè. Các tham số tùy chọn có cùng ý nghĩa như trong

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    98

    Mới trong phiên bản 3. 5

    Đã thay đổi trong phiên bản 3. 10. Tham số dòng mới đã được thêm vào.

    Tương ứng với các công cụ trong mô-đun
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    34¶

    Dưới đây là bảng ánh xạ các hàm

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    34 khác nhau tương ứng với hàm
    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    61/
    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    6 tương ứng của chúng

    Ghi chú

    Không phải tất cả các cặp hàm/phương thức bên dưới đều tương đương. Một số trong số chúng, mặc dù có một số trường hợp sử dụng chồng chéo, có ngữ nghĩa khác nhau. Chúng bao gồm

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    38 và
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    39,
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    40 và
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    41

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    34 và
    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    9

    >>> PurePath['foo', 'some/path', 'bar']
    PurePosixPath['foo/some/path/bar']
    >>> PurePath[Path['foo'], Path['bar']]
    PurePosixPath['foo/bar']
    
    5

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    38

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    39 1

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    47

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    01

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    46

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    89

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    51

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    52

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    53

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    52

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    55

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    56

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    57

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    58

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    59

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    29

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    61,
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    62

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    63

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    38

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    65

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    66

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    67

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    39

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    69 và
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    70

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    71

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    72

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    73

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    74

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    75

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    76

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    77

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    78

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    20

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    22

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    19

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    21

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    01

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    84

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    40

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    41 2

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    43

    >>> p = Path['.']
    >>> [x for x in p.iterdir[] if x.is_dir[]]
    [PosixPath['.hg'], PosixPath['docs'], PosixPath['dist'],
     PosixPath['__pycache__'], PosixPath['build']]
    
    90,
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    89,
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    90

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    91

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    92

    >>> PurePath[]
    PurePosixPath['.']
    
    3

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    94

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    95

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    96

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    97

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    98

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    15

    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    
    00

    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    
    01

    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    
    02 và
    >>> p = Path['/etc']
    >>> q = p / 'init.d' / 'reboot'
    >>> q
    PosixPath['/etc/init.d/reboot']
    >>> q.resolve[]
    PosixPath['/etc/rc.d/init.d/halt']
    
    03

    chú thích

    1

    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    38 bình thường hóa đường dẫn kết quả, có thể thay đổi ý nghĩa của nó khi có liên kết tượng trưng, ​​​​trong khi
    >>> list[p.glob['**/*.py']]
    [PosixPath['test_pathlib.py'], PosixPath['setup.py'],
     PosixPath['pathlib.py'], PosixPath['docs/conf.py'],
     PosixPath['build/lib/pathlib.py']]
    
    39 thì không

    Làm cách nào để lấy kích thước của tất cả các tệp trong một thư mục bằng Python?

    Các bước cần thực hiện. .
    Nhập mô-đun cần thiết
    Tạo một kích thước biến và gán 0 cho nó
    Chỉ định đường dẫn của thư mục
    Quét thư mục và lấy kích thước của từng tệp trong thư mục và thêm nó vào kích thước
    Hiển thị tổng kích thước của thư mục

    Làm cách nào để kiểm tra kích thước tệp trong Linux?

    Sử dụng lệnh ls .
    –l – hiển thị danh sách các tệp và thư mục ở định dạng dài và hiển thị kích thước theo byte
    –h – chia tỷ lệ kích thước tệp và kích thước thư mục thành KB, MB, GB hoặc TB khi kích thước tệp hoặc thư mục lớn hơn 1024 byte
    –s – hiển thị danh sách các tệp và thư mục và hiển thị kích thước theo khối

    Làm cách nào để xóa tệp Python?

    Có nhiều cách để Xóa tệp trong Python nhưng những cách tốt nhất là như sau. .
    hệ điều hành. remove[] xóa một tập tin
    hệ điều hành. unlink[] xóa một tập tin. nó là tên Unix của phương thức remove[]
    đóng cửa. rmtree[] xóa một thư mục và tất cả nội dung của nó
    đường dẫn. Con đường

    Làm cách nào để lấy tất cả các tệp trong thư mục và thư mục con Python?

    Phương pháp 1. Mô-đun Os .
    cú pháp. hệ điều hành. listdir[đường dẫn]
    Thông số
    Loại trả lại. trả về danh sách tất cả các tệp và thư mục trong đường dẫn đã chỉ định

    Chủ Đề