在 Python 中使用 7zip 压缩时如何不包含整个路径?

tar*_*lay 1 python scripting file 7zip data-extraction

我有一个 C:/a/b/c/d,我只想压缩文件“d”。当我使用 py7zr 库在 Python 中执行此操作时

archive = py7zr.SevenZipFile('C:/a/b/c/d.7z', 'w')
archive.writeall('C:/a/b/c/d')
archive.close()
Run Code Online (Sandbox Code Playgroud)

它可以工作,但是当我提取 zip 时,我最终得到了整个 a/b/c 路径,而不是我只想压缩当前文件。有任何想法吗?

小智 5

你可以这样做

archive = py7zr.SevenZipFile('C:/a/b/c/d.7z', 'w')
archive.writeall('C:/a/b/c/d', 'd')
archive.close()
Run Code Online (Sandbox Code Playgroud)

然后文件“a/b/c/d/a.txt”将存档为“d/a.txt”而不是“a/b/c/d/a.txt”