gpt4 book ai didi

python - 使用 Python 的 tarfile 创建 tarball 时保留文件权限

转载 作者:太空宇宙 更新时间:2023-11-04 01:17:38 24 4
gpt4 key购买 nike

你好stackoverflowers,

我想在使用 Python 的 tarfile 模块时保留原始文件权限。我有很多可执行文件在提取 tarball 后失去了权限。

我正在做这样的事情:

import tarfile
tar = tarfile.open("mytarball.tar.gz", 'w:gz')
tar.add('my_folder') #tar the entire folder
tar.close()

然后我使用 shutil 将它从 Windows 复制到 Linux 机器(用 samba 映射):

shutil.copy("mytarball.tar.gz",unix_dir)

然后,我在 linux 中提取 tarball

unix>tar -xvf mytarball.tar.gz  

压缩包解压缩后,我失去了对我的文件的所有“x”权限

有什么线索可以解决这个问题吗?

问候

最佳答案

如果您知道哪些文件应该具有执行权限,您可以使用过滤功能手动设置权限:

def set_permissions(tarinfo):
tarinfo.mode = 0777 # for example
return tarinfo

tar.add('my_folder', filter=set_permissions)

关于python - 使用 Python 的 tarfile 创建 tarball 时保留文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23389184/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com