WindowsXPのアーカイブに異なるアクセス許可のファイルでディレクトリをバックアップする関数を書き込もうとしています。tarfileモジュールを使用してディレクトリをtarします。現在、プログラムが読み取り権限のないファイルを検出するとすぐに、エラーの発生を停止します。IOError:[Errno 13]権限が拒否されました:'ファイルへのパス'。代わりに、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))