mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
GH-73991: Add pathlib.Path.copy_into()
and move_into()
(#123314)
These two methods accept an *existing* directory path, onto which we join the source path's base name to form the final target path. A possible alternative implementation is to check for directories in `copy()` and `move()` and adjust the target path, which is done in several `shutil` functions. This behaviour is helpful in a shell context, but less so in a stored program that explicitly specifies destinations. For example, a user that calls `Path('foo.py').copy('bar.py')` might not imagine that `bar.py/foo.py` would be created, but under the alternative implementation this will happen if `bar.py` is an existing directory.
This commit is contained in:
parent
dbc1752d41
commit
c68a93c582
6 changed files with 96 additions and 4 deletions
|
@ -188,10 +188,10 @@ pathlib
|
|||
* Add methods to :class:`pathlib.Path` to recursively copy, move, or remove
|
||||
files and directories:
|
||||
|
||||
* :meth:`~pathlib.Path.copy` copies a file or directory tree to a given
|
||||
destination.
|
||||
* :meth:`~pathlib.Path.move` moves a file or directory tree to a given
|
||||
destination.
|
||||
* :meth:`~pathlib.Path.copy` copies a file or directory tree to a destination.
|
||||
* :meth:`~pathlib.Path.copy_into` copies *into* a destination directory.
|
||||
* :meth:`~pathlib.Path.move` moves a file or directory tree to a destination.
|
||||
* :meth:`~pathlib.Path.move_into` moves *into* a destination directory.
|
||||
* :meth:`~pathlib.Path.delete` removes a file or directory tree.
|
||||
|
||||
(Contributed by Barney Gale in :gh:`73991`.)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue