用法:
writepy(pathname, basename='', filterfunc=None)
搜索文件
*.py
并将相应的文件添加到存档中。如果
PyZipFile
的optimize
参数未给出或-1
,则相应的文件是*.pyc
文件,必要时进行编译。如果
PyZipFile
的optimize
参数是0
、1
或2
,则仅将具有该优化级别的文件(请参见compile()
)添加到存档中,并在必要时进行编译。如果
pathname
是文件,则文件名必须以.py
结尾,并且仅在顶层添加(对应的*.pyc
)文件(无路径信息)。如果pathname
是一个不以.py
结尾的文件,则会引发RuntimeError
。如果是目录,并且该目录不是包目录,则将所有文件*.pyc
添加到顶层。如果目录是包目录,则将所有*.pyc
作为文件路径添加到包名下,如果有子目录是包目录,则按顺序递归添加。basename
仅供内部使用。filterfunc
如果给定,则必须是采用单个字符串参数的函数。在添加到存档之前,它将通过每个路径(包括每个单独的完整文件路径)。如果filterfunc
返回 false 值,则不会添加路径,如果是目录,则忽略其内容。例如,如果我们的测试文件都在test
目录中或以字符串test_
开头,我们可以使用filterfunc
来排除它们:>>> 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)
writepy()
方法使用如下文件名制作档案:string.pyc # Top level name test/__init__.pyc # Package directory test/testall.pyc # Module test.testall test/bogus/__init__.pyc # Subpackage directory test/bogus/myfile.pyc # Submodule test.bogus.myfile
3.4 版中的新函数:
filterfunc
范围。在 3.6.2 版中更改:
pathname
参数接受一个path-like 对象.在 3.7 版中更改:递归对目录条目进行排序。
相关用法
- Python zipfile.Path.joinpath用法及代码示例
- Python zipfile.ZipFile.open用法及代码示例
- Python zip()用法及代码示例
- Python zip用法及代码示例
- Python string zfill()用法及代码示例
- Python zlib.compress(s)用法及代码示例
- Python zlib.decompress(s)用法及代码示例
- Python zlib.adler32()用法及代码示例
- Python numpy matrix zeros()用法及代码示例
- Python zlib.crc32()用法及代码示例
- Python zoneinfo.ZoneInfo用法及代码示例
- Python cudf.core.column.string.StringMethods.is_vowel用法及代码示例
- Python torch.distributed.rpc.rpc_async用法及代码示例
- Python torch.nn.InstanceNorm3d用法及代码示例
- Python sklearn.cluster.MiniBatchKMeans用法及代码示例
- Python pandas.arrays.IntervalArray.is_empty用法及代码示例
- Python tf.compat.v1.distributions.Multinomial.stddev用法及代码示例
- Python numpy.less()用法及代码示例
- Python tf.compat.v1.distribute.MirroredStrategy.experimental_distribute_dataset用法及代码示例
- Python Sympy Permutation.list()用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 zipfile.PyZipFile.writepy。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。