문제

파이썬 shutil.copytree 그다지 유연하지 않습니다. 복사하는 동안 권한 무시에 대한 지원을 추가하는 가장 간단한 방법은 무엇입니까? copytree (구현을 다시 작성하지 않아도)?

그렇지 않으면, copytree 다음과 같이 실패합니다.

(…)”[Errno 45] Operation not supported: ‘/path/foo/bar’”
도움이 되었습니까?

해결책

당신은 가지고 있습니다 shutil.py 표준 파이썬 분포에서 (우분투에서, 광산은 /usr/lib/python2.6 예를 들어; 창문 일 수 있습니다 C:\Python26\lib?). CopyTree 함수의 길이는 38 줄 (주석을 세지 않으면 34)이며 Docstring의 끝에는 다음과 같습니다.

XXX Consider this example code rather than the ultimate tool.

따라서 가장 간단한 방법은 실제로 카피 트리를 위해 몇 줄을 변경/추가하거나 다른 도서관을 찾는 것입니다.

다른 팁

스레드-안전 (또는 일반적으로 권장되는)이 아니지만 스크립트 스크립트에 대해서는 괜찮습니다.

import shutil

_orig_copystat = shutil.copystat
shutil.copystat = lambda x, y: x

shutil.copytree(src, dst)

shutil.copystat = _orig_copystat
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top