次のディレクトリ ツリーを検討してください。
Work--->subdir1--->File1
| |
| ---->File2
|
-->subdir2--->File3
同様のディレクトリ ツリーがもう 1 つあります。
Gold--->subdir1--->File1
| |
| ---->File2
|
-->subdir2--->File3
Work
ディレクトリを別の場所にコピーするスクリプトを作成する必要があります。私はshutil.copytree
同じために使用しています。
問題は、(常にではありませんが) ときどき、たとえばディレクトリFile2
内の一部のファイルにアクセスする権限がなくWork
、次のエラーが発生することです。
Traceback (most recent call last):
File "C:\Script.py", line 81, in <module>
shutil.copytree(source_loc,dest_loc)
File "C:\Python32\lib\shutil.py", line 239, in copytree
raise Error(errors)
shutil.Error: [('C:\\Work\\subdir1\\File2',
'C:\\Dest\\subdir1\\File2',
"[Errno 13] Permission denied: 'C:\\Work\\subdir1\\File2'")]
Gold
このような状況では、対応するファイルをディレクトリからコピーする必要があります。Gold
例外を介してディレクトリから対応するファイルのコピーを自動化する方法はありますか? 次のように言います。
try:
shutil.copytree(r'C:\Work',r'C:\Dest')
except:
<< Copy Inaccessible Files from Gold >>
os.walk
最初は、ファイルを個別にコピーするためにを使用することを考えていました。このようにして、特定のファイルで例外が発生した場合はいつでも、対応するファイルを Gold からコピーできます。より良い方法はありますか?