원본 디렉토리의 파일을 usb의 경로에 자동으로 복사하는 스 니펫을 작성했습니다. 때문에 드라이브 문자 이름은 독립적 인 PC에 의해 할당 된 내가 GetLogicalDrives() 것이라고 생각하고 그 USB 드라이브에 대한 경로가 그 다음 그 중 하나를 복사하는 것입니다 (나는 어떤 의미를 만들기를 바래). 여기에 내가 파이썬에 쓴 코드 조각은 다음과 같습니다Windows XP에서 Python 스 니펫을 사용하는 이상한 동작
import itertools, ctypes, string, sys, os.path, shutil
def drive_list():
drive_bitmask = ctypes.cdll.kernel32.GetLogicalDrives()
drive_list = list(itertools.compress(string.ascii_uppercase,
map(lambda x:ord(x) - ord('0'), bin(drive_bitmask)[:1:-1])))
return drive_list
for drive in drive_list():
path = drive + ":\\targer_directory\target_file.ext"
if drive not in ["C", "D", "E"]:
if os.path.exists(path) == True:
shutil.copy2(r'C:\source_directory\source_file.ext', path)
나는이 스크립트를 실행 할 때마다 나는 오류 메시지의 무리가 말을 얻을 :
"예외 처리 메시지 c0000013 매개 변수 75b1bf7c 4 75b1bf7c의 75b1bf7c"
나는 이것이 아마 내 PC에 "유령 드라이브"가 있다는 것을 의미한다고 생각한다. 이 행동을 우회하는 데 도움이 깊은 감사드립니다.
참고 : 코드는 끝까지 실행되며 복사 작업은 성공적으로 완료되지만 자동 백업을 수행하려는 경우 오류 메시지가 지워질 때까지는 복사 작업이 완료되지 않습니다.