gpt4 book ai didi

python - 7z 的命令行从存档内的特定文件夹中提取特定文件

转载 作者:太空狗 更新时间:2023-10-30 00:24:09 26 4
gpt4 key购买 nike

我正在编写一个 Python 脚本,我需要在其中调用 7z 来提取保存在存档目录中的一些文件,而不是提取完整的存档。存档包含多个目录,我需要从特定目录中提取一些文件。

比方说,“abc.7z”是一个包含多个目录的存档,即“temp”、“windows”、“system”、“data”。我只想从“系统”目录中提取一些 .exe 文件,因为这些 .exe 文件也可能存在于其他目录中,但我只对“系统”中的文件感兴趣。

我只需要 7z 命令;我会弄清楚如何从脚本中调用 7z。感谢您的帮助。

最佳答案

您可以在命令行末尾指定文件/文件夹过滤器。检查this有关 7zip 命令行命令和选项的更多详细信息。

7z.exe x [archive.7z] -o[output_dir] [filter]

例如7z.exe x abc.7z -aoa -oC:\Temp 系统

您还可以从系统文件夹中指定特定类型的文件。例如system\*.exe 将提取 system 目录中的所有 .exe 文件。

-aoa 选项用于覆盖模式。

要从 Python 调用它,您可以使用 subprocess 模块。像这样的东西:

import subprocess

cmd = []
cmd.append(r'C:\Program Files\7-Zip\7z.exe')
cmd.append('x')
cmd.append(archive)
cmd.append('-aoa')
cmd.append('-o{}'.format(dst_part))
cmd.append(file_folder_filter)
subprocess.call(cmd)

关于python - 7z 的命令行从存档内的特定文件夹中提取特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31984387/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com