目次
copy2
- コピー元:ファイル
- コピー先:ファイル または フォルダ(内)
- デフォルトで上書きされる(警告なし)
- copy2はパーミッションとメタデータ(作成者、作成日、更新日など)もコピーされる
def check_and_copy2(src_p, dst_p):
'''
同名ファイルがあれば警告し、copy2で上書きコピー
'''
if dst_p.exists():
if input('Overwrite?(y/n): ') == 'y':
if input('Realy? Overwrite?(y/n): ') == 'y':
shutil.copy2(src_p, dst_p)
print('Overwrite Copied')
else:
print('Canceled')
return
else:
print('Canceled')
return
else:
shutil.copy2(src_p, dst_p)
print('Copied')copytree
- コピー元:フォルダ
- コピー先:フォルダ
- 同名フォルダがあるとデフォルトでエラーが出る
def check_and_copytree(src_p, dst_p):
'''
同名フォルダあれば警告後、削除し、copytreeでコピーする
'''
if dst_p.exists():
if input('WARNING: Overwrite, Folder?(y/n): ') == 'y':
if input('Realy? Realy? Overwrite?(y/n): ') == 'y':
shutil.rmtree(dst_p)
shutil.copytree(src_p, dst_p)
print('Overwrite Copied')
else:
print('Canceled')
return
else:
print('Canceled')
return
else:
shutil.copytree(src_p, dst_p)
print('Copied')