[Python-Dev] A smarter shutil.copytree ?
Isaac Morland
ijmorlan at cs.uwaterloo.ca
Mon Apr 21 02:38:03 CEST 2008
On Sun, 20 Apr 2008, Steven Bethard wrote:
> On Sun, Apr 20, 2008 at 4:15 PM, Tarek Ziadé <ziade.tarek at gmail.com> wrote:
>> I have submitted a patch for review here: http://bugs.python.org/issue2663
>>
>> glob-style patterns or a callable (for complex cases) can be provided
>> to filter out files or directories.
>
> I'm not a big fan of the sequence-or-callable argument. Why not just
> make it a callable argument, and supply a utility function so that you
> can write something like::
>
> exclude_func = shutil.excluding_patterns('*.tmp', 'test_dir2')
> shutil.copytree(src_dir, dst_dir, exclude=exclude_func)
Even if a glob pattern filter is considered useful enough to be worth
special-casing, the glob capability should also be exposed via something
like your excluding_patterns constructor and additionally as a function
that can be called by another function intended for use as a callable
argument.
If it is not, then doing something like "files matching these glob
patterns except for those matching this non-glob-expressible condition and
also those files matching this second non-glob-expressible condition"
becomes painful because the glob part essentially needs to be
re-implemented.
Isaac Morland CSCF Web Guru
DC 2554C, x36650 WWW Software Specialist
More information about the Python-Dev
mailing list