我当前正在尝试编写一个脚本,该脚本会将在Powershell中使用Create-Archive
创建的zip文件提取到目标位置。这是我目前的操作方式:
with zipfile.ZipFile(path_to_zip, 'r') as zip_ref:
zip_ref.extractall(destination_path)
这在大多数情况下都有效,但是zip文件中有一个文件夹。与其复制文件夹和该文件夹中的文件,不如将文件复制到给定的destination_path
并重命名它们。例如,我在名为“模板”的文件夹中有一个名为“ BatteryDead.html”的文件。解压缩时,它将名为templates\BatteryDead.html
的文件放入根文件夹。
有没有办法让它按原样提取子文件夹(以及该文件夹的子文件夹)?保持目录完整吗?
应注意,打开ZIP文件而不进行解压缩将显示正确的目录和文件名。
以下是提取前的文件结构:
./zipped_directory.zip
|
|
|-----templates/
|
|-----'BatteryDead.html'
|-----'testfile.txt'
使用extractall()
后:
/root/
|
|
|-----'templates\BatteryDead.html'
|-----'testfile.txt'
这是python版本3.7.3