A
Antoine De Groote
Google tells quite some things about it, but none of them are satisfactory.
I'm on Windows, and shutil operations (e.g. move, copy) throw [Errno 13]
Permission denied all the time, for the source files. It seems that this
is the case for all my files. But what I don't understand is that
yesterday it still worked. I didn't change anything on my system though
(at least not that I am aware of). I restarted the computer several
times to see if that helped, but it didn't. Also I can't find a process
that would be using the files...
Has anybody experienced this problem before, or have a solution?
Kind regards,
antoine
Here's the code that throws the errors
[...]
for l in files:
from_file = os.path.join(dir, l)
to_file = from_file.replace(tree_top, backup_dir)
try:
if not os.path.exists(to_file):
log('Copying new %s' % from_file)
counter_new += 1
shutil.copy2(from_file, to_file)
elif int(os.path.getmtime(from_file)) >
int(os.path.getmtime(to_file)):
log('Copying modified %s' % from_file)
counter_mod += 1
shutil.copy2(from_file, to_file)
elif os.path.getsize(from_file) > os.path.getsize(to_file):
log('Sizes differ, but not rest: Copying %s' %
from_file)
counter_special += 1
shutil.copy2(from_file, to_file)
elif os.path.getsize(from_file) < os.path.getsize(to_file):
log('Orig file smaller than backup file: Copying
%s' % from_file)
counter_special += 1
shutil.copy2(to_file, backup_dir+'DIFF_SIZE')
shutil.copy2(from_file, to_file)
else:
#log('not treated: %s' % l)
pass
except (OSError, IOError), e:
not_accessible += 1
print e
[...]
I'm on Windows, and shutil operations (e.g. move, copy) throw [Errno 13]
Permission denied all the time, for the source files. It seems that this
is the case for all my files. But what I don't understand is that
yesterday it still worked. I didn't change anything on my system though
(at least not that I am aware of). I restarted the computer several
times to see if that helped, but it didn't. Also I can't find a process
that would be using the files...
Has anybody experienced this problem before, or have a solution?
Kind regards,
antoine
Here's the code that throws the errors
[...]
for l in files:
from_file = os.path.join(dir, l)
to_file = from_file.replace(tree_top, backup_dir)
try:
if not os.path.exists(to_file):
log('Copying new %s' % from_file)
counter_new += 1
shutil.copy2(from_file, to_file)
elif int(os.path.getmtime(from_file)) >
int(os.path.getmtime(to_file)):
log('Copying modified %s' % from_file)
counter_mod += 1
shutil.copy2(from_file, to_file)
elif os.path.getsize(from_file) > os.path.getsize(to_file):
log('Sizes differ, but not rest: Copying %s' %
from_file)
counter_special += 1
shutil.copy2(from_file, to_file)
elif os.path.getsize(from_file) < os.path.getsize(to_file):
log('Orig file smaller than backup file: Copying
%s' % from_file)
counter_special += 1
shutil.copy2(to_file, backup_dir+'DIFF_SIZE')
shutil.copy2(from_file, to_file)
else:
#log('not treated: %s' % l)
pass
except (OSError, IOError), e:
not_accessible += 1
print e
[...]