gitpython创建zip存档

use*_*986 4 python git gitpython

如何使用gitpython创建存档,我尝试了以下创建文件,但我无法打开它告诉我读取存档时出错,存档似乎无效或损坏

from git import *
repo = Repo(repo_path)
assert repo.bare == False
repo.archive(open("repo.tar",'w'))
Run Code Online (Sandbox Code Playgroud)

我想创建一个zip文件,然后我尝试了这个但是在这里它创建了一个空的zip文件(repo的路径是正确的,因为当我使用repo.clone时它会克隆一切)

repo.archive(open("repo.zip",'w'), format="zip") 
Run Code Online (Sandbox Code Playgroud)

Ped*_*ano 5

您需要将文件打开为二进制文件(添加bmode参数中)并在完成后将其关闭.您的示例的以下修改使其正常工作:

from git import Repo

repo = Repo(repo_path)
assert not repo.bare
with open('repo.zip', 'wb') as archive_file:
    repo.archive(archive_file, format='zip')
Run Code Online (Sandbox Code Playgroud)