用python控制winzip解压zipx

2024-09-28 22:39:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将大量的zipx文件解压到目录中,同时检查解压文件是否符合条件。条件是“如果存在同名文件,则只有在解压后的文件较大时才会超显”。在

我想用win32com控制winzip,但找不到对象.名称使用COM浏览器(win32com\client\combrowse.py公司). 如果能找到可以用于这个winzip对象的方法,那就太好了。在

有谁能帮助我选择或建议一个更简单的选择来解决所描述的问题吗。 唐斯克。在


Tags: 文件对象py目录名称comclient浏览器
1条回答
网友
1楼 · 发布于 2024-09-28 22:39:23

忘了win32com。相反

  1. 创建目标文件夹
  2. 在zipx档案上循环;对于每个档案:
    1. 使用Python的tempfile模块创建一个temp文件夹
    2. 使用subprocess模块在zipx归档文件上运行解压实用程序(处理zipx格式),并使用命令行选项提取到创建的temp文件夹
    3. 使用shutil模块将该文件夹中的每个解压缩文件复制到第一步中创建的公共目标文件夹中,如果文件满足条件,。对于文件大小,请使用路径.stat()st_尺寸或os.path.get_大小(). 在
    4. 删除临时文件夹

因此,每个归档文件都被解压到不同的临时文件夹中,但是所有提取的文件都被移到一个公共文件夹中。或者,可以对所有归档文件使用相同的temp文件夹,但在每次迭代结束时清空该文件夹,并在脚本结束时删除temp文件夹。在

  1. 创建目标文件夹
  2. 使用Python的tempfile模块创建一个temp归档提取文件夹
  3. 在zipx档案上循环;对于每个档案:
    1. 使用subprocess模块在zipx归档文件上运行解压实用程序(处理zipx格式),并使用命令行选项提取到创建的temp文件夹
    2. 使用shutil模块将该文件夹中的每个解压缩文件复制到第一步中创建的公共目标文件夹中,如果文件满足条件,。文件大小,用于路径.stat()st_尺寸或os.path.get_大小(). 在
    3. 清除临时文件夹的内容
  4. 删除临时文件夹

相关问题 更多 >