2013-12-12 7 views
0

일부 파일을 찾고 폴더를 만들고 거기에있는 파일을 이동하려고합니다.Python shutil move I/O 오류

def test(): 
    try: 
     logfile = "C:\\Users\\alkis\\Desktop\\testouter\\test" 
     result_dir = os.path.join(logfile, "testzip") 
     print result_dir 
     os.makedirs(result_dir) 
     os.chmod(result_dir, stat.S_IWRITE) 
     kpath = logfile + "\\*.jpg" 
     print kpath 
     files = glob.glob(kpath) 
     for file in files: 
      filename = os.path.splitext(file)[0] 
      print filename 
      os.chmod(filename, stat.S_IWRITE) 
      shutil.move(filename, result_dir) 
    except Exception, e: 
     #shutil.rmtree(result_dir) 
     print e.__doc__ + "\r\n" 
     print e.message 
    return 

내가 점점 오전 오류 : MS-Windows OS call failed 나는 내 파일에 대한 사용 권한을 확인하고는 읽기 전용되지 않습니다.

답변

3

각 파일을 확장자를 제거한 다음 해당 파일 이름을 이동하려고 시도하고 있습니다.

확장명은 파일 이름의 일부이므로 제거하지 마십시오. Windows Exlorer 은 파일을 표시 할 때만 확장명을 숨 깁니다.

os.chmod()도 파일 이름으로 호출 할 필요가 없습니다. 해당 단계를 건너 뜁니다.

for file in files: 
    filename = os.path.splitext(file)[0] 
    print filename 
    shutil.move(filename, result_dir) 
+0

정말 고마워요. 필자는 파일 이름을 인쇄했지만 그 사실을 알지 못했습니다. os.path.splitext (file) [0]을 호출하면 확장자가 없어도됩니다. 연결된 결과와 동일한 결과를 가질 수 있습니까? – alkis