Hướng dẫn python pathlib file extension - phần mở rộng tệp python pathlib

Mới trong phiên bản 3.4.

Mã nguồn: lib/pathlib.py Lib/pathlib.py


Mô -đun này cung cấp các lớp đại diện cho các đường dẫn hệ thống tập tin với ngữ nghĩa phù hợp cho các hệ điều hành khác nhau. Các lớp đường dẫn được phân chia giữa các đường dẫn thuần túy, cung cấp các hoạt động tính toán hoàn toàn mà không có I/O và các đường dẫn cụ thể, kế thừa từ các đường dẫn thuần túy nhưng cũng cung cấp các hoạt động I/O.pure paths, which provide purely computational operations without I/O, and concrete paths, which inherit from pure paths but also provide I/O operations.

Hướng dẫn python pathlib file extension - phần mở rộng tệp python pathlib

Nếu bạn không bao giờ sử dụng mô -đun này trước đây hoặc chỉ cần chắc chắn rằng lớp nào phù hợp với nhiệm vụ của bạn,

>>> PurePath('foo', 'some/path', 'bar')
PurePosixPath('foo/some/path/bar')
>>> PurePath(Path('foo'), Path('bar'))
PurePosixPath('foo/bar')
4 rất có thể là những gì bạn cần. Nó khởi tạo một đường dẫn cụ thể cho nền tảng mà mã đang chạy.concrete path for the platform the code is running on.

Đường dẫn thuần túy là hữu ích trong một số trường hợp đặc biệt; Ví dụ:

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

    >>> PurePath('foo', 'some/path', 'bar')
    PurePosixPath('foo/some/path/bar')
    >>> PurePath(Path('foo'), Path('bar'))
    PurePosixPath('foo/bar')
    
    5 khi chạy trên Unix, nhưng bạn có thể khởi tạo
    >>> PurePath('foo', 'some/path', 'bar')
    PurePosixPath('foo/some/path/bar')
    >>> PurePath(Path('foo'), Path('bar'))
    PurePosixPath('foo/bar')
    
    6.

  2. Bạn muốn đảm bảo rằng mã của bạn chỉ thao tác các đường dẫn mà không thực sự truy cập 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ì những lớp đơn giản là không có bất kỳ hoạt động 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 tin hướng đối tượng.: The pathlib module – object-oriented filesystem paths.

Xem thêm

PEP 428: Mô-đun PathLib-Đường dẫn hệ thống tập tin hướng đối tượng.

Đối với thao tác đường dẫn cấp thấp trên các 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') 7.

Sử dụng cơ bản

>>> from pathlib import Path

Nhập lớp chính:

>>> 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 thư mục con:

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

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

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

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

>>> q.exists()
True
>>> q.is_dir()
False

Thuộc tính đường dẫn truy vấn:

>>> with q.open() as f: f.readline()
...
'#!/bin/bash\n'

Mở tệp:

Con đường thuần túy

Các đối tượng Pure Path cung cấp các hoạt động xử lý đường dẫn mà không thực sự truy cập vào một hệ thống tập tin. Có ba cách để truy cập các lớp này, mà chúng ta cũng gọi là hương vị:pathlib.PurePath(*pathsegments)

ClassPathLib.PurePath (*PathSegments) ¶

>>> PurePath('setup.py')      # Running on a Unix machine
PurePosixPath('setup.py')

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

>>> PurePath('foo', 'some/path', 'bar')
PurePosixPath('foo/some/path/bar')
>>> PurePath(Path('foo'), Path('bar'))
PurePosixPath('foo/bar')
8 hoặc
>>> PurePath('foo', 'some/path', 'bar')
PurePosixPath('foo/some/path/bar')
>>> PurePath(Path('foo'), Path('bar'))
PurePosixPath('foo/bar')
6):

>>> PurePath('foo', 'some/path', 'bar')
PurePosixPath('foo/some/path/bar')
>>> PurePath(Path('foo'), Path('bar'))
PurePosixPath('foo/bar')

Mỗi phần tử của PathSegments 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 thực hiện giao diện

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

>>> PurePath()
PurePosixPath('.')

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

>>> PurePath('/etc', '/usr', 'lib64')
PurePosixPath('/usr/lib64')
>>> PureWindowsPath('c:/Windows', 'd:bar')
PureWindowsPath('d:bar')

Khi một số đường dẫn tuyệt đối được đưa ra, con đường cuối cùng được lấy làm mỏ neo (bắt chước hành vi ____ 81 81):

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

Tuy nhiên, trong một đườ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')]
1

Các dấu gạch chéo giả và các chấm đơn bị sụp đổ, nhưng các chấm đôi (

>>> PurePath()
PurePosixPath('.')
2) và các dấu gạch chéo đôi hàng đầu (
>>> PurePath()
PurePosixPath('.')
3) thì không, vì điều này sẽ thay đổi ý nghĩa của một đường dẫn vì nhiều lý do (ví dụ: liên kết tượng trưng, ​​đường dẫn UNC):

.

Các đối tượng Pure Path thực hiện giao diện

>>> PurePath()
PurePosixPath('.')
0, cho phép chúng được sử dụng ở bất cứ đâu giao diện được chấp nhận.Added support for the
>>> PurePath()
PurePosixPath('.')
0 interface.

Đã thay đổi trong phiên bản 3.6: Đã thêm hỗ trợ cho giao diện
>>> PurePath()
PurePosixPath('.')
0.
pathlib.PurePosixPath(*pathsegments)

classPathLib.PurePosixPath (*PathSegments) ¶

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

Một lớp con của

>>> PurePath()
PurePosixPath('.')
9, hương vị đường dẫn này đại diện cho các đường dẫn hệ thống tập tin không phải Windows:

PathSegments được chỉ định tương tự như
>>> PurePath()
PurePosixPath('.')
9.
pathlib.PureWindowsPath(*pathsegments)

ClassPathLib.PureWWindowsPath (*PathSegments) ¶

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

Một lớp con của

>>> PurePath()
PurePosixPath('.')
9, hương vị đường dẫn này đại diện cho các đường dẫn hệ thống tập tin không phải Windows:

PathSegments được chỉ định tương tự như

>>> PurePath()
PurePosixPath('.')
9.

ClassPathLib.PureWWindowsPath (*PathSegments) ¶

Một lớp con của

>>> PurePath()
PurePosixPath('.')
9, hương vị đường dẫn này đại diện cho các đường dẫn hệ thống tập tin 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')]
4

Bất kể hệ thống mà bạn đang chạy, 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ỳ hoạt động nào thực hiện các cuộc gọi hệ thống.

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

Thuộc tính chung¶

Con đường là bất biến và có thể băm. Con đường của một hương vị tương tự là tương đương và có thể đặt hàng. Những tính chất này tôn trọng ngữ nghĩa gấp lại trường hợ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')]
6

Các con đường của một hương vị khác nhau so sánh không đồng đều và không thể đặt hàng:

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

Người điều khiển trong

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

Toán tử Slash giúp tạo đường dẫn trẻ em, tương tự như

>>> PurePath()
PurePosixPath('.')
1:

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

>>> PurePath()
PurePosixPath('.')
0 được chấp nhận:

Biểu diễn chuỗi của đường dẫn là đường dẫn hệ thống tập tin thô (ở dạng gốc, ví dụ: với các dấu gạch chéo ngược trong Windows), 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:

Tương tự, việc gọi >>> PurePath('/etc', '/usr', 'lib64') PurePosixPath('/usr/lib64') >>> PureWindowsPath('c:/Windows', 'd:bar') PureWindowsPath('d:bar') 5 trên đường dẫn cung cấp đường dẫn hệ thống tập tin thô dưới dạng đối tượng byte, được mã hóa bởi >>> PurePath('/etc', '/usr', 'lib64') PurePosixPath('/usr/lib64') >>> PureWindowsPath('c:/Windows', 'd:bar') PureWindowsPath('d:bar') 6:

Ghi chú

Gọi
>>> PurePath('/etc', '/usr', 'lib64')
PurePosixPath('/usr/lib64')
>>> PureWindowsPath('c:/Windows', 'd:bar')
PureWindowsPath('d:bar')
5 chỉ được đề xuất theo Unix. Trong Windows, biểu mẫu Unicode là biểu diễn chính tắc của các đường dẫn hệ thống tập tin.
parts

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

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

Để truy cập vào các bộ phận riêng lẻ (các thành phần) của một đường dẫn, hãy sử dụng thuộc tính sau:

PurePath.Parts¶

Một tuple cho phép truy cập vào các thành phần khác nhau của đường dẫn:

Purepath.Drive¶drive

Một chuỗi đại diện cho ký tự hoặc tên ổ đĩa, 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')]
0

Cổ phiếu của UNC cũng được coi là ổ đĩa:

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

Purepath.root¶root

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')]
2

Cổ phiếu của 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')]
3

Nếu đường dẫn bắt đầu với nhiều hơn hai lần cắt liên tiếp,

>>> PurePath('foo', 'some/path', 'bar')
PurePosixPath('foo/some/path/bar')
>>> PurePath(Path('foo'), Path('bar'))
PurePosixPath('foo/bar')
8 sẽ sụp đổ 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')]
4

Ghi chú

Hành vi này phù hợp với thông số kỹ thuật cơ sở nhóm mở Số 6, Đoạn 4.11 Độ phân giải tên đường dẫn:

Một tên đường dẫn bắt đầu với hai dấu gạch chéo liên tiếp có thể được giải thích theo cách được xác định bằng cách thực hiện, mặc dù nhiều hơn hai dấu gạch chéo hàng đầu sẽ được coi là một dấu gạch chéo.

Purepath.Anchor¶anchor

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')]
5

Purepath.parents¶parents

Một chuỗi bất biến cung cấp quyền truy cập vào tổ tiên logic của con đường:

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

Đã thay đổi trong phiên bản 3.10: Trình tự cha mẹ hiện hỗ trợ các lát cắt và giá trị chỉ số âm.The parents sequence now supports slices and negative index values.

Purepath.parent¶parent

Cha mẹ logic của con đường:

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

Bạn không thể đi qua một mỏ neo, hoặc con đường 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')]
8

Ghi chú

Hành vi này phù hợp với thông số kỹ thuật cơ sở nhóm mở Số 6, Đoạn 4.11 Độ phân giải tên đườ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')]
9

Một tên đường dẫn bắt đầu với hai dấu gạch chéo liên tiếp có thể được giải thích theo cách được xác định bằng cách thực hiện, mặc dù nhiều hơn hai dấu gạch chéo hàng đầu sẽ được coi là một dấu gạch chéo.

Purepath.Anchor¶name

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

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

Purepath.parents¶

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

Một chuỗi bất biến cung cấp quyền truy cập vào tổ tiên logic của con đường:suffix

Đã thay đổi trong phiên bản 3.10: Trình tự cha mẹ hiện hỗ trợ các lát cắt và giá trị chỉ số âm.

>>> 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.parent¶suffixes

Cha mẹ logic của con đường:

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

Bạn không thể đi qua một mỏ neo, hoặc con đường trống:stem

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

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

Nếu bạn muốn đi bộ một đường dẫn hệ thống tập tin tùy ý lên trên, trước tiên nên gọi
>>> PurePath('/etc', '/usr', 'lib64')
PurePosixPath('/usr/lib64')
>>> PureWindowsPath('c:/Windows', 'd:bar')
PureWindowsPath('d:bar')
9 để giải quyết các liên kết symlink 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')]
00.
as_posix()

PurePath.Name¶

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

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à root, nếu có:as_uri()

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')
6

PurePath.Suffix¶is_absolute()

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')
7

PurePath.Suffixes¶is_relative_to(*other)

Một danh sách các phần mở rộng tệp đườ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')
8

PurePath.stem¶

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

PurePath.as_posix () ¶

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

Trả về một biểu diễn chuỗi của đường dẫn với dấu gạch chéo 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')]
01):

Purepath.as_uri ()joinpath(*other)

Đại diện cho đường dẫn dưới dạng ____102 URI.

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

>>> q.exists()
True
>>> q.is_dir()
False
0

Purepath.is_absolute () ¶match(pattern)

Trả lại cho dù đường dẫn là 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:

PurePath.is_relative_to (*Khác) ¶

>>> q.exists()
True
>>> q.is_dir()
False
1

Trả về liệu con đường này có liên quan đến đường dẫn khác hay không.

>>> q.exists()
True
>>> q.is_dir()
False
2

Mới trong phiên bản 3.9.

>>> q.exists()
True
>>> q.is_dir()
False
3

PurePath.is_reserved () ¶relative_to(*other)

Với

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

>>> q.exists()
True
>>> q.is_dir()
False
4

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ó các hiệu ứng ngoài ý muốn.

Purepath.joinpath (*Khác) ¶with_name(name)

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

>>> q.exists()
True
>>> q.is_dir()
False
5

PurePath.Match (mẫu) ¶with_stem(stem)

Phù hợp với con đường này với mô hình kiểu Quả cầu được cung cấp. Trả về

>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
05 Nếu khớp thành công,
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
06 khác.

>>> q.exists()
True
>>> q.is_dir()
False
6

PurePath.stem¶

Thành phần đường dẫn cuối cùng, không có hậu tố của nó:with_suffix(suffix)

PurePath.as_posix () ¶

>>> q.exists()
True
>>> q.is_dir()
False
7

Trả về một biểu diễn chuỗi của đường dẫn với dấu gạch chéo 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')] 01):

Purepath.as_uri ()

Đại diện cho đường dẫn dưới dạng ____102 URI.
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
03 được nâng lên nếu đường dẫn không phải là tuyệt đối.
pathlib.Path(*pathsegments)

Purepath.is_absolute () ¶

>>> q.exists()
True
>>> q.is_dir()
False
8

Trả lại cho dù đường dẫn là 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:

PurePath.is_relative_to (*Khác) ¶ pathlib.PosixPath(*pathsegments)

Trả về liệu con đường này có liên quan đến đường dẫn khác hay không.

>>> q.exists()
True
>>> q.is_dir()
False
9

Trả lại cho dù đường dẫn là 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:

PurePath.is_relative_to (*Khác) ¶ pathlib.WindowsPath(*pathsegments)

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')
4 và
>>> PurePath('foo', 'some/path', 'bar')
PurePosixPath('foo/some/path/bar')
>>> PurePath(Path('foo'), Path('bar'))
PurePosixPath('foo/bar')
6, lớp này đại diện cho các đường dẫn hệ thống tập tin Windows cụ thể:

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

PathSegments được chỉ định tương tự như

>>> PurePath()
PurePosixPath('.')
9.

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 (cho phép các cuộc gọi hệ thống trên 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'
1

Phương pháp bình

Các đường dẫn bê tông cung cấp các phương pháp 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')]
25 nếu cuộc gọi hệ thống không thành công (ví dụ như đường dẫn không tồn tại).

classmethodpath.cwd () ¶Path.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')]
26):

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

classmethodpath.home () ¶ Path.home()

Trả về một đối tượng đường dẫn mới đại diện cho thư mục nhà của người dùng (đượ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')]
27 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')]
28). Nếu thư mục nhà có 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')]
29 sẽ được nâng lên.

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

Mới trong phiên bản 3.5.

Path.stat (*, theo dõi_symLinks = true) ¶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')]
30 chứa thông tin về đường dẫn này, như
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
31. Kết quả được tra cứu vào mỗi cuộc gọi đến phương thức này.

Phương pháp này thường theo các liên kết symlink; Để thống kê một SymLink, hãy thêm đối số

>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
32 hoặc sử dụng
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
33.

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

Đã thay đổi trong phiên bản 3.10: Tham số tiếp theo_symlinks đã được thêm vào.The follow_symlinks parameter was added.

Path.chmod (chế độ, *, theo dõi_symLinks = true) ¶chmod(mode, *, 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')]
34.

Phương pháp này thường theo Symlinks. Một số hương vị Unix hỗ trợ thay đổi quyền thay đổi trên chính Symlink; Trên các nền tảng này, bạn có thể thêm đối số

>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
32 hoặc sử dụng
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
36.

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

Đã thay đổi trong phiên bản 3.10: Tham số tiếp theo_symlinks đã được thêm vào.The follow_symlinks parameter was added.

Path.chmod (chế độ, *, theo dõi_symLinks = true) ¶exists()

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')]
34.

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

Phương pháp này thường theo Symlinks. Một số hương vị Unix hỗ trợ thay đổi quyền thay đổi trên chính Symlink; Trên các nền tảng này, bạn có thể thêm đối số

>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
32 hoặc sử dụng
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
36.

Path.exists () ¶

Cho dù đường dẫn chỉ vào một tệp hoặc thư mục hiện có:expanduser()

Ghi chú

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

Mới trong phiên bản 3.5.

Path.stat (*, theo dõi_symLinks = true) ¶glob(pattern)

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')]
30 chứa thông tin về đường dẫn này, như
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
31. Kết quả được tra cứu vào mỗi cuộc gọi đến phương thức này.

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

Phương pháp này thường theo các liên kết symlink; Để thống kê một SymLink, hãy thêm đối số

>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
32 hoặc sử dụng
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
33.

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

Phương pháp này thường theo Symlinks. Một số hương vị Unix hỗ trợ thay đổi quyền thay đổi trên chính Symlink; Trên các nền tảng này, bạn có thể thêm đối số

>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
32 hoặc sử dụng
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
36.

Path.exists () ¶

Cho dù đường dẫn chỉ vào một tệp hoặc thư mục hiện có:auditing event

>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
45 with arguments
>>> 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')]
47.

Ghi chúReturn only directories if pattern ends with a pathname components separator (

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

Nếu đường dẫn trỏ đến một liên kết symlink,
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
37 sẽ trả về xem Symlink chỉ vào một tệp hoặc thư mục hiện có.
group()

Path.expanduser () ¶

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')]
28 và
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
39 mở rộng, được trả lại bởi
>>> 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 một thư mục nhà có 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')]
29 sẽ được nâng lên.
is_dir()

Path.glob (mẫu) ¶

GLOB Mẫu tương đối đã cho trong thư mục được biểu thị bằng đường dẫn này, mang lại tất cả các tệp phù hợp (bất kỳ loại nào):

Các mẫu giống 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')]
42, với việc bổ sung các ____ ____143, có nghĩa là thư mục này và tất cả các thư mục con, đệ quy. Nói cách khác, nó cho phép đệ quy:
is_file()

Sử dụng mẫu ____ ____143 trên các cây thư mục lớn có thể tiêu thụ một khoảng thời gian không phù hợp.

GLOB Mẫu tương đối đã cho trong thư mục được biểu thị bằng đường dẫn này, mang lại tất cả các tệp phù hợp (bất kỳ loại nào):

Các mẫu giống 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')]
42, với việc bổ sung các ____ ____143, có nghĩa là thư mục này và tất cả các thư mục con, đệ quy. Nói cách khác, nó cho phép đệ quy:
is_mount()

Sử dụng mẫu ____ ____143 trên các cây thư mục lớn có thể tiêu thụ một khoảng thời gian không phù hợp.

Tăng một sự kiện kiểm toán

>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
45 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')]
46,
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
47.

Đã thay đổi trong phiên bản 3.11: Chỉ trả lại các thư mục nếu mẫu kết thúc bằng bộ phân cách thành phần PathName (
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
48 hoặc
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
49).
is_symlink()

Path.group () ¶

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

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

Path.is_dir ()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')]
05 Nếu đường dẫn trỏ đến một thư mục (hoặc liên kết tượng trưng chỉ vào 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')]
06 nếu nó trỏ đến một loại tệp khác.

GLOB Mẫu tương đối đã cho trong thư mục được biểu thị bằng đường dẫn này, mang lại tất cả các tệp phù hợp (bất kỳ loại nào):

Các mẫu giống 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')]
42, với việc bổ sung các ____ ____143, có nghĩa là thư mục này và tất cả các thư mục con, đệ quy. Nói cách khác, nó cho phép đệ quy:
is_fifo()

Sử dụng mẫu ____ ____143 trên các cây thư mục lớn có thể tiêu thụ một khoảng thời gian không phù hợp.

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

Path.is_block_device () ¶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')]
05 Nếu đường dẫn trỏ đến thiết bị khối (hoặc liên kết tượng trưng chỉ vào 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')]
06 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')]
06 cũng được trả lại nếu đường dẫn không tồn tại hoặc là một liên kết symlink bị hỏng; Các lỗi khác (như lỗi cấp phép) được truyền.

Path.is_char_device () ¶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')]
05 Nếu đường dẫn trỏ đến một thiết bị ký tự (hoặc liên kết tượng trưng chỉ vào 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')]
06 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')]
06 cũng được trả lại nếu đường dẫn không tồn tại hoặc là một liên kết symlink bị hỏng; Các lỗi khác (như lỗi cấp phép) được truyền.

Path.iterdir () ¶iterdir()

Khi đường dẫn trỏ đến một thư mục, mang lại các đối tượng đường dẫn của nội dung thư mục:

>>> PurePath('setup.py')      # Running on a Unix machine
PurePosixPath('setup.py')
0

Trẻ em được mang lại theo thứ tự tùy ý, và các mục đặ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')]
75 và
>>> PurePath()
PurePosixPath('.')
2 không được bao gồm. Nếu một tệp được xóa khỏi hoặc thêm vào thư mục sau khi tạo trình lặp, liệu một đối tượng đường dẫn cho tệp đó có được bao gồm không được xác định.

Path.lchmod (chế độ) ¶lchmod(mode)

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')]
77, nhưng, nếu đường dẫn chỉ vào một liên kết tượng trưng, ​​chế độ liên kết tượng trưng được thay đổi thay vì mục tiêu của nó.

Path.lstat () ¶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')]
78, nhưng, nếu đường dẫn chỉ vào một liên kết tượng trưng, ​​hãy trả lại thông tin liên kết tượng trưng thay vì mục tiêu của nó.

Path.mkdir (mode = 0o777, cha mẹ = falsemkdir(mode=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 đưa ra, nó được kết hợp với giá trị quy trình

>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
79 để 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')]
80 sẽ được nâng lên.

Nếu cha mẹ là sự thật, bất kỳ cha mẹ mất tích nào của con đường này đều được tạo ra khi cần thiết; Chúng được tạo với các quyền mặc định mà không tính đến chế độ (bắt chước 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')]
81).

Nếu cha mẹ là sai (mặc định), cha mẹ bị thiếu tăng

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

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')]
80 sẽ đượ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')]
80 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')]
81), nhưng chỉ khi thành phần đường dẫn cuối cùng không phải là một tệp không trực tiếp hiện có.

Đã thay đổi trong phiên bản 3.5: Tham số tồn tại_ok đã được thêm vào.The exist_ok parameter was added.

Path.open (mode = 'r', buffering = -1, mã hóa = none, error = none, newLine = none) ¶open(mode='r', buffering=- 1, encoding=None, errors=None, newline=None)

Mở tệp được trỏ bởi đường dẫn, giống như hàm

>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
86 tích hợp không:

>>> PurePath('setup.py')      # Running on a Unix machine
PurePosixPath('setup.py')
1

Path.owner () ¶owner()

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')]
50 được nâng lên nếu tệp UID được tìm thấy trong cơ sở dữ liệu hệ thống.

Path.read_bytes () ¶read_bytes()

Trả về nội dung nhị phân của tệp pointed-to làm đối tượng byte:

>>> PurePath('setup.py')      # Running on a Unix machine
PurePosixPath('setup.py')
2

Mới trong phiên bản 3.5.

Path.read_text (mã hóa = none, error = none) ¶read_text(encoding=None, errors=None)

Trả về nội dung được giải mã của tệp pointed-to dưới dạng chuỗi:

>>> PurePath('setup.py')      # Running on a Unix machine
PurePosixPath('setup.py')
3

Các tập tin được mở và sau đó đóng. 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')]
86.

Mới trong phiên bản 3.5.

Path.read_text (mã hóa = none, error = none) ¶readlink()

Trả về nội dung được giải mã của tệp pointed-to dưới dạng chuỗi:

>>> PurePath('setup.py')      # Running on a Unix machine
PurePosixPath('setup.py')
4

Các tập tin được mở và sau đó đóng. 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')]
86.

Path.ReadLink () ¶rename(target)

Trả về đường dẫn mà các điểm liên kết tượng trưng (đượ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')]
89):

>>> PurePath('setup.py')      # Running on a Unix machine
PurePosixPath('setup.py')
5

Mới trong phiên bản 3.9.

Path.rename (mục tiêu) ¶Added return value, return the new Path instance.

Đổi tên tệp hoặc thư mục này thành mục tiêu đã cho và trả về một thể hiện đường dẫn mới trỏ đến mục tiêu. Trên Unix, nếu Target 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 Target 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')]
80 sẽ được nâng lên. Mục tiêu có thể là một chuỗi hoặc đối tượng đường dẫn khác:
replace(target)

Đường dẫn mục tiêu có thể là tuyệt đối hoặc tương đối. Các đường dẫn tương đối được giải thích so 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.

Mới trong phiên bản 3.9.

Path.rename (mục tiêu) ¶Added return value, return the new Path instance.

Đổi tên tệp hoặc thư mục này thành mục tiêu đã cho và trả về một thể hiện đường dẫn mới trỏ đến mục tiêu. Trên Unix, nếu Target 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 Target 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')]
80 sẽ được nâng lên. Mục tiêu có thể là một chuỗi hoặc đối tượng đường dẫn khác:
absolute()

Đường dẫn mục tiêu có thể là tuyệt đối hoặc tương đối. Các đường dẫn tương đối được giải thích so 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.

>>> PurePath('setup.py')      # Running on a Unix machine
PurePosixPath('setup.py')
6

Đã 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.resolve(strict=False)

Path.replace (mục tiêu) ¶

>>> PurePath('setup.py')      # Running on a Unix machine
PurePosixPath('setup.py')
7

Đổi tên tệp hoặc thư mục này thành mục tiêu đã cho và trả về một thể hiệ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ẽ được thay thế vô điều kiện.

>>> PurePath('setup.py')      # Running on a Unix machine
PurePosixPath('setup.py')
8

Path.absolute () ¶

Mới trong phiên bản 3.6: Đối số nghiêm ngặt (hành vi trước 3,6 là nghiêm ngặt).The strict argument (pre-3.6 behavior is strict).

Path.rglob (mẫu) ¶rglob(pattern)

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

>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
96 với
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
97, được thêm vào trước mẫu tương đối đã cho:

>>> PurePath('setup.py')      # Running on a Unix machine
PurePosixPath('setup.py')
9

Tăng một sự kiện kiểm toán

>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
98 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')]
46,
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
47.auditing event
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
98 with arguments
>>> 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')]
47.

Đã thay đổi trong phiên bản 3.11: Chỉ trả lại các thư mục nếu mẫu kết thúc bằng bộ phân cách thành phần PathName (

>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
48 hoặc
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
49).Return only directories if pattern ends with a pathname components separator (
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
48 or
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
49).

Path.rmdir ()rmdir()

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

Path.samefile (other_path) ¶samefile(other_path)

Trả về liệu đường dẫn này chỉ vào cùng một tệp như other_path, có thể là đối tượng đường dẫn hoặc một chuỗi. Các 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')]
03 và
>>> list(p.glob('**/*.py'))
[PosixPath('test_pathlib.py'), PosixPath('setup.py'),
 PosixPath('pathlib.py'), PosixPath('docs/conf.py'),
 PosixPath('build/lib/pathlib.py')]
04.

Một

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

>>> PurePath('foo', 'some/path', 'bar')
PurePosixPath('foo/some/path/bar')
>>> PurePath(Path('foo'), Path('bar'))
PurePosixPath('foo/bar')
0

Mới trong phiên bản 3.5.

Path.symlink_to (Target, Target_is_Directory = false) ¶symlink_to(target, target_is_directory=False)

Làm cho con đường này trở thành một liên kết tượng trưng đến Target. Trong Windows, Target_is_Directory phải đúng (mặc định ____10106) nếu mục tiêu liên kết là một thư mục. Theo POSIX, giá trị Target_is_Directory, bị bỏ qua.

>>> PurePath('foo', 'some/path', 'bar')
PurePosixPath('foo/some/path/bar')
>>> PurePath(Path('foo'), Path('bar'))
PurePosixPath('foo/bar')
1

Ghi chú

Thứ tự của các đối số (liên kết, mục tiêu) là ngược lại ____ 207.

Path.hardlink_to (mục tiêu) ¶hardlink_to(target)

Biến đường dẫn này thành một liên kết khó đến cùng một tệp với Target.

Ghi chú

Thứ tự của các đối số (liên kết, mục tiêu) là ngược lại ____ 207.

Path.hardlink_to (mục tiêu) ¶

Biến đường dẫn này thành một liên kết khó đến cùng một tệp với Target.link_to(target)

Thứ tự của các đối số (liên kết, mục tiêu) là ngược lại ____ 208.

Mới trong phiên bản 3.10.

Path.link_to (mục tiêu) ¶

Làm cho mục tiêu thành một liên kết khó đến đường dẫn này.

Cảnh báotouch(mode=0o666, exist_ok=True)

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 đến Target, mặc dù có hàm ý của chức năng và tên đối số. Thứ tự đối số (mục tiêu, liên kết) là mặt trái 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')]
09 và
>>> list(p.glob('**/*.py'))
[PosixPath('test_pathlib.py'), PosixPath('setup.py'),
 PosixPath('pathlib.py'), PosixPath('docs/conf.py'),
 PosixPath('build/lib/pathlib.py')]
10, nhưng phù hợp 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')]
08.

Mới trong phiên bản 3.8.unlink(missing_ok=False)

Path.touch (mode = 0O666, encape_ok = true) ¶

Tạo một tập tin tại đường dẫn đã cho này. Nếu chế độ được đưa ra, nó được kết hợp với giá trị quy trình

>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
79 để xác định chế độ tệp và cờ truy cập. Nếu tệp đã tồn tại, hàm 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 lên thời gian hiện tại), nếu không
>>> p = Path('.')
>>> [x for x in p.iterdir() if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]
80 sẽ được nâng lên.

Path.unlink (thiếu_ok = false) ¶

Xóa tệp này hoặc liên kết tượng trưng. Nếu đường dẫn chỉ vào 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')]
14 thay thế.The missing_ok parameter was added.

Nếu thiếu_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')]
82 sẽ được nâng lên nếu đường dẫn không tồn tại.
write_bytes(data)

Nếu thiếu_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')]
82 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')]
17).

>>> PurePath('setup.py')      # Running on a Unix machine
PurePosixPath('setup.py')
2

Đã thay đổi trong phiên bản 3.8: Tham số bị thiếu_OK đã được thêm vào.

Mới trong phiên bản 3.5.

Path.symlink_to (Target, Target_is_Directory = false) ¶write_text(data, encoding=None, errors=None, newline=None)

Làm cho con đường này trở thành một liên kết tượng trưng đến Target. Trong Windows, Target_is_Directory phải đúng (mặc định ____10106) nếu mục tiêu liên kết là một thư mục. Theo POSIX, giá trị Target_is_Directory, bị bỏ qua.

>>> PurePath('setup.py')      # Running on a Unix machine
PurePosixPath('setup.py')
3

Ghi chú

Mới trong phiên bản 3.5.

Path.symlink_to (Target, Target_is_Directory = false) ¶The newline parameter was added.

Làm cho con đường này trở thành một liên kết tượng trưng đến Target. Trong Windows, Target_is_Directory phải đúng (mặc định ____10106) nếu mục tiêu liên kết là một thư mục. Theo POSIX, giá trị Target_is_Directory, bị bỏ qua.

Ghi chú

Thứ tự của các đối số (liên kết, mục tiêu) là ngược lại ____ 207.

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

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

Path.hardlink_to (mục tiêu) ¶

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

>>> PurePath('/etc', '/usr', 'lib64')
PurePosixPath('/usr/lib64')
>>> PureWindowsPath('c:/Windows', 'd:bar')
PureWindowsPath('d:bar')
9

>>> 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')]
77

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

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

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

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

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

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

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

>>> 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')]
14

Biến đường dẫn này thành một liên kết khó đến cùng một tệp với Target.

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

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

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

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

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

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

Thứ tự của các đối số (liên kết, mục tiêu) là ngược lại ____ 208.

>>> 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')]
54

>>> 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')]
08

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

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

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

>>> 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')]
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

Mới trong phiên bản 3.10.

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

Path.link_to (mục tiêu) ¶

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

>>> PurePath()
PurePosixPath('.')
1

>>> 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')]
79

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

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

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

Làm cho mục tiêu thành một liên kết khó đến đường dẫn này.

Cảnh báo

1

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 đến Target, mặc dù có hàm ý của chức năng và tên đối số. Thứ tự đối số (mục tiêu, liên kết) là mặt trái 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')]
09 và
>>> list(p.glob('**/*.py'))
[PosixPath('test_pathlib.py'), PosixPath('setup.py'),
 PosixPath('pathlib.py'), PosixPath('docs/conf.py'),
 PosixPath('build/lib/pathlib.py')]
10, nhưng phù hợp 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')]
08.

2

Mới trong phiên bản 3.8.