我正在尝试存档 2 个文件,但不是导致这两个文件的完整路径。希望有人能指出我正确的方向:
我的目录结构如下。我只有两个要备份的文件。
/tmp
my_stuff
-hello.html
-hello2.html
Run Code Online (Sandbox Code Playgroud)
所以根据文档,shutil.make_archive 可以压缩整个目录。我正在使用以下命令:
shutil.make_archive( base_name = '/tmp/package',
format = 'zip',
root_dir = '/tmp/my_stuff',
base_dir = '/tmp/my_stuff' )
Run Code Online (Sandbox Code Playgroud)
此命令成功创建了 zip 文件,但是当我执行“从 /tmp 文件夹中解压缩 package.zip”时,我得到以下信息:
? /tmp unzip package.zip
Archive: package.zip
creating: tmp/my_stuff
inflating: tmp/my_stuff/hello.html
inflating: tmp/my_stuff/hello2.html
Run Code Online (Sandbox Code Playgroud)
它在 tmp 和一个名为 my_stuff 的新文件夹和 2 个文件中创建一个重复的“tmp”。我想要的只是提取这两个文件(没有目录)。任何意见,将不胜感激。
谢谢
要创建没有任何目录的平面,您需要更改 base_dir:
shutil.make_archive( base_name = '/tmp/package',
format = 'zip',
root_dir = '/tmp/my_stuff',
base_dir = './' )
Run Code Online (Sandbox Code Playgroud)