2012-05-14 4 views
1

하나의 폴더에 하나의 지오 데이터베이스와 두 개의 다른 파일 (txt)이 있습니다. 나는 지퍼를 사용하고 지퍼를 쌌다. 이제는이 폴더에 gdb, txt, txt 및 새로운 zip 파일이 있습니다. 이제는 압축 된 파일을 삭제해야하므로 폴더의 zip 파일 만 삭제됩니다. 다음 코드 작성 :python을 사용하여 폴더에서 파일 삭제

def remove_files(): 
    for l in os.listdir(DestPath): 
     if l.find('zipped.zip') > -1: 
     pass 
     else: 
      print ('Deleting ' + l) 
      os.remove(l) 

을하지만 가지고 :

Error Info: 
[Error 2] The system cannot find the file specified: 'geogeo.gdb' 

이 사람이 나를 도울 수 있습니까? 미리 감사드립니다.

+3

대신의'l.find ('zipped.zip를')> -1' 단순히 압축 ''사용할 수 있습니다 .zip 'in l' – ThiefMaster

+0

확인. 고맙습니다!!! – Z77

답변

6

os.listdir은 전체 경로가 아닌 파일 이름 만 반환합니다. os.remove은 파일 이름 만 주어진 경우 현재 작업 디렉토리를 사용합니다. 현재 작업 디렉토리가 DestPath 다른 경우에, 당신은 전체 경로를 제공해야합니다 :

os.remove(os.path.join(DestPath,l)) 
+0

편집 해 주셔서 감사합니다. @ ThiefMaster입니다. – unutbu

+0

@TimPietzcker : True; 그것은 파일 이름의 어디에서나'zip.zip'없이 아무 것도 제거 할 것입니다. – unutbu

+0

아, 나는 당신의 솔루션이'os.remove()'줄뿐만 아니라 Z77에 의해 전체 코드 스 니펫을 대체하기로되어 있다고 생각했습니다. 내 잘못이야. –

관련 문제