Python:tarfile exclude.git文件夹在tar中

Python:tarfile exclude.git文件夹在tar中,python,python-3.x,tar,tarfile,Python,Python 3.x,Tar,Tarfile,我有一个git repo,我想对除.git文件夹及其内容之外的所有文件进行tar 我在tar.add(…)中找到了带有paramexclude=…的答案,但它似乎被去除了。还有其他方法吗?我认为您可以查找文件和跳过文件,并使用exec命令进行tar find/dir-name“*.gz”-name.git-exec tar-rvf out.tar{}\def filter_func(tarinfo):if os.path.isdir(tarinfo.name):返回None返回tarinfo m

我有一个git repo,我想对除
.git
文件夹及其内容之外的所有文件进行tar


我在
tar.add(…)
中找到了带有param
exclude=…
的答案,但它似乎被去除了。还有其他方法吗?

我认为您可以查找文件和跳过文件,并使用exec命令进行tar


find/dir-name“*.gz”-name.git-exec tar-rvf out.tar{}\

def filter_func(tarinfo):if os.path.isdir(tarinfo.name):返回None返回tarinfo mytarfile.add(…,filter=filter_func)您可以尝试上面的方法吗?此脚本不只是忽略所有文件夹,因为它只是检查文件是否为目录吗?我只想忽略.git和子文件hankyou,但我正试图使用
tarfiles
python在python脚本中实现这一点library@Pax不确定它是否有用,但如果它特定于linux机器,您可以尝试subprocess并运行此命令。但如果这有帮助的话。
def filter_func(tarinfo):
  if os.path.isdir(tarinfo.name):
    return None
return tarinfo

mytarfile.add(..., filter=filter_func)