2014-05-20 9 views
1

내 딸의 SD 카드가 손상되어 사진/파일을 복구하려고합니다. 나는 다양한 소프트웨어를 시도했지만 아무 소용이 없습니다.파이썬 프로그램에서 "sd 드라이브 연결 새로 고침"을받을 수있는 방법이 있습니까

그러나 MSDOS를 사용하면 다양한 사진을 복사 할 수 있지만 간헐적으로이 오류가 발생하고 "드라이브에 디스크가 없습니다"라는 메시지가 나타납니다. 복사하려는 파일이 손상되었다고 가정하면이 문제를 극복 할 수 있습니다. SD 카드를 꺼내서 다시 넣으십시오.

프로그램을위한 기회! :) - DOS를 통해 파일 이름을 얻었고 텍스트 파일을 만들고 거친 프로그램을 작성했습니다 .... 그러나 "드라이브에 디스크가 없습니다"

따라서 ... 방법이 있습니까? 파이썬 프로그램에서 "sd 드라이브 연결 새로 고침"을 받으십시오.

많은 감사합니다.

#!/usr/bin/env python 
""" File copy program""" 

import os 
import shutil 

def main(): 
    Basepathfile = os.path.dirname(os.path.abspath(__file__)) 
    FileName = 'Filenames.txt' 
    PrelimPathFile = os.path.join(Basepathfile, FileName) 
    PathFile = os.path.normpath(PrelimPathFile) 

    Filename1 = open(PathFile, 'r') 
    Filename2 = 'c:\\Lili\\' 
    for line in Filename1: 
     line = line.replace('\r\n', '').replace('\r', '').replace('\n', '') 
     Filename1 = 'f:\\DCIM\\Camera\\'+ line 
     Filename2 = 'c:\\Lili\\'+ line 

     try: 
      shutil.copy2(Filename1, Filename2) 
      print 'Copied... ' 
      print Filename1, '...to...', Filename2 
     except: 
      print 'Failed to copy ', Filename1, ' to ', Filename2 

if __name__ == '__main__': 
    main() 

답변

1

이 내용은 파이썬보다 Windows에 관한 질문과 같습니다. SD 카드가 USB 카드 판독기를 통해 꽂혀 있다면 가장 쉬운 방법은 연결되어있는 USB 허브 장치를 비활성화하고 다시 활성화하는 것입니다. 이렇게하면 해당 허브에 연결된 모든 USB 장치가 다시 열거됩니다. 이 USB 장치 이외 인 경우 정말 모르겠어요, http://support.microsoft.com/kb/311272

을,하지만 어쩌면있는 DevCon은 여전히 ​​비활성화 시도하여 트릭을 할 수 :

당신은 DevCon와 명령 줄에서이 작업을 수행 할 수 있습니다 장치를 직접 다시 활성화하십시오.

robocopy으로 수동으로 시도해 볼 수도 있습니다. 이미 복사 한 파일을 복사하지 않는 옵션이 있습니다. 운좋게도 SD 카드를 수동으로 몇 번 당겨야하지만, SD 카드는 결국 모든 것이 뽑혔다는 것을 확인할 수있을 정도로 오래있을 것입니다.

+0

건배 Hetman, 결국 나는 드라이브를 반복적으로 제거하면서 프로그램을 실행했습니다. 약 80 개의 재 삽입이 있었고 약 80 개의 항목을 잃어 버렸지 만 모두가 더 좋았습니다. 나는 풀 포맷, SD의 무거운 테스트 이후 아무런 문제가 없었다. – Floggedhorse