hello stackoverflowers,使用Python的tarfile创建tarball时保留文件权限
我想在使用Python的tarfile模块时保留原始文件权限。 我有很多可执行文件在提取tarball后会失去它们的权限。
我在做这样的事情:
import tarfile
tar = tarfile.open("mytarball.tar.gz", 'w:gz')
tar.add('my_folder') #tar the entire folder
tar.close()
然后,我从窗户使用复制到一台Linux机器(与桑巴映射)shutil:
shutil.copy("mytarball.tar.gz",unix_dir)
然后,提取压缩包在Linux中,我做
unix>tar -xvf mytarball.tar.gz
tarball被提取后,我失去了我的文件的所有'x'权限
任何线索如何解决这个问题?
问候
我用你的代码,并做了一个小测试保留'x'权限。有更复杂的事情发生吗?在将它们添加到tarball之前,您确定权限是否正确? –
我正在将windows的tarbal复制到samba的unix上。我正在使用shutil:shutil.copy(“mytarball.tar.gz”,unix_dir)它可能会在那里发生。我必须仔细检查。但复制单个文件似乎工作。权限被保留。 – user3352256
啊,好吧,我的测试只在Linux上,我知道如何执行文件权限的工作。不确定Python如何在Windows上处理执行文件权限。 –