我正在尝试编写一个函数,该函数将具有不同权限文件的目录备份到 Windows XP 上的存档。我正在使用 tarfile 模块来 tar 目录。目前,一旦程序遇到没有读取权限的文件,它就会停止给出错误:IOError: [Errno 13] Permission denied: 'path to file'。我希望它只是跳过它无法读取的文件,而不是结束 tar 操作。这是我现在使用的代码:
def compressTar():
"""Build and gzip the tar archive."""
folder = 'C:\\Documents and Settings'
tar = tarfile.open ("C:\\WINDOWS\\Program\\archive.tar.gz", "w:gz")
try:
print "Attempting to build a backup archive"
tar.add(folder)
except:
print "Permission denied attempting to create a backup archive"
print "Building a limited archive conatining files with read permissions."
for root, dirs, files in os.walk(folder):
for f in files:
tar.add(os.path.join(root, f))
for d in dirs:
tar.add(os.path.join(root, d))