Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
a13ee7e8
Commit
a13ee7e8
authored
Mar 05, 2014
by
R David Murray
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
whatsnew: improve PyZipFile filterfuc entry, and its docs (#19274).
parent
5fbd6db6
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
10 deletions
+26
-10
Doc/library/zipfile.rst
Doc/library/zipfile.rst
+20
-6
Doc/whatsnew/3.4.rst
Doc/whatsnew/3.4.rst
+6
-4
No files found.
Doc/library/zipfile.rst
View file @
a13ee7e8
...
...
@@ -401,18 +401,32 @@ The :class:`PyZipFile` constructor takes the same parameters as the
``
2
``,
only
files
with
that
optimization
level
(
see
:
func
:`
compile
`)
are
added
to
the
archive
,
compiling
if
necessary
.
If
the
pathname
is
a
file
,
the
filename
must
end
with
:
file
:`.
py
`,
and
If
*
pathname
*
is
a
file
,
the
filename
must
end
with
:
file
:`.
py
`,
and
just
the
(
corresponding
:
file
:`\*.
py
[
co
]`)
file
is
added
at
the
top
level
(
no
path
information
).
If
the
pathname
is
a
file
that
does
not
end
with
(
no
path
information
).
If
*
pathname
*
is
a
file
that
does
not
end
with
:
file
:`.
py
`,
a
:
exc
:`
RuntimeError
`
will
be
raised
.
If
it
is
a
directory
,
and
the
directory
is
not
a
package
directory
,
then
all
the
files
:
file
:`\*.
py
[
co
]`
are
added
at
the
top
level
.
If
the
directory
is
a
package
directory
,
then
all
:
file
:`\*.
py
[
co
]`
are
added
under
the
package
name
as
a
file
path
,
and
if
any
subdirectories
are
package
directories
,
all
of
these
are
added
recursively
.
*
basename
*
is
intended
for
internal
use
only
.
When
*
filterfunc
(
pathname
)*
is
given
,
it
will
be
called
for
every
invocation
.
When
it
returns
a
false
value
,
that
path
and
its
subpaths
will
be
ignored
.
all
of
these
are
added
recursively
.
*
basename
*
is
intended
for
internal
use
only
.
*
filterfunc
*,
if
given
,
must
be
a
function
taking
a
single
string
argument
.
It
will
be
passed
each
path
(
including
each
individual
full
file
path
)
before
it
is
added
to
the
archive
.
If
*
filterfunc
*
returns
a
false
value
,
the
path
will
not
be
added
,
and
if
it
is
a
directory
its
contents
will
be
ignored
.
For
example
,
if
our
test
files
are
all
either
in
``
test
``
directories
or
start
with
the
string
``
test_
``,
we
can
use
a
*
filterfunc
*
to
exclude
them
::
>>>
zf
=
PyZipFile
(
'myprog.zip'
)
>>>
def
notests
(
s
):
...
fn
=
os
.
path
.
basename
(
s
)
...
return
(
not
(
fn
==
'test'
or
fn
.
startswith
(
'test_'
)))
>>>
zf
.
writepy
(
'myprog'
,
filterfunc
=
notests
)
The
:
meth
:`
writepy
`
method
makes
archives
with
file
names
like
this
::
...
...
Doc/whatsnew/3.4.rst
View file @
a13ee7e8
...
...
@@ -1415,11 +1415,13 @@ abbreviated (``<tag />``) or expanded (``<tag></tag>``) form. (Contributed by
Ariel Poliak and Serhiy Storchaka in :issue:`14377`.)
zipfile
.PyZipfile
-------
----------
zipfile
-------
Add a filter function to ignore some packages (tests for instance),
:meth:`~zipfile.PyZipFile.writepy`.
The :meth:`~zipfile.PyZipFile.writepy` method of the
:class:`~zipfile.PyZipFile` class has a new *filterfunc* option that can be
used to control which directories and files are added to the archive. For
example, this could be used to exclude test files from the archive.
(Contributed by Christian Tismer in :issue:`19274`.)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment