python - 如何使用 Python 仅压缩目录中特定类型的文件?
问题描述
files = [os.listdir]
files_to_zip = []
for file in files:
if str(file).__contains__("png"):
files_to_zip.append(file)
shutil.make_archive("test", 'zip', files_to_zip)
我的代码如上。我知道它不应该起作用,但我真的很想了解背后的逻辑。我想为当前目录中的所有 *.png 文件制作一个 zip 存档,然后将它们全部删除。现在我可以制作一个包含目录中所有文件的 zip 文件,但我只想要 png 文件。提前致谢。
解决方案
我认为 pathlib 模块更容易使用。
from pathlib import Path
directory = <YOUR DIRECTORY>
shutil.make_archive("test", 'zip', Path(directory).glob('*.png'))
推荐阅读
- c# - C# SerialPort 连续读取命令响应
- angular - 如何从另一个选项卡启用材料选项卡
- sql-server - 从 SSMS 访问 Azure 保管库密钥
- android - NFC主机卡仿真Android
- php - fwrite() 两次写入一个 json 编码的数组
- html - Primeng p-selectButton 不适用于反应式表单
- java - 为 logback.xml Sentry appender 动态设置 Sentry 的环境变量
- php - 如果任何作业失败,Cron 作业会自动重试
- cortex-m - gcc CortexM4 单精度 FPU:为什么使用例如。'powf' 双精度函数,例如 '__extendsfdf2' 或 '__aeabi_ddiv'
- c# - 如何通过连接从两个表中进行 SQL 选择并获取一个 json 对象