1
0
mirror of https://github.com/python/cpython synced 2024-07-08 23:50:45 +00:00
cpython/Lib/pathlib
Barney Gale 35e998f560
GH-73991: Add pathlib.Path.copytree() (#120718)
Add `pathlib.Path.copytree()` method, which recursively copies one
directory to another.

This differs from `shutil.copytree()` in the following respects:

1. Our method has a *follow_symlinks* argument, whereas shutil's has a
   *symlinks* argument with an inverted meaning.
2. Our method lacks something like a *copy_function* argument. It always
   uses `Path.copy()` to copy files.
3. Our method lacks something like a *ignore_dangling_symlinks* argument.
   Instead, users can filter out danging symlinks with *ignore*, or
   ignore exceptions with *on_error*
4. Our *ignore* argument is a callable that accepts a single path object,
   whereas shutil's accepts a path and a list of child filenames.
5. We add an *on_error* argument, which is a callable that accepts
   an `OSError` instance. (`Path.walk()` also accepts such a callable).

Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>
2024-06-23 22:01:12 +01:00
..
__init__.py
_abc.py GH-73991: Add pathlib.Path.copytree() (#120718) 2024-06-23 22:01:12 +01:00
_local.py GH-73991: Add follow_symlinks argument to pathlib.Path.copy() (#120519) 2024-06-19 00:59:54 +00:00
_os.py GH-73991: Add follow_symlinks argument to pathlib.Path.copy() (#120519) 2024-06-19 00:59:54 +00:00