2017-12-16 2 views
-5

수천 장의 사진이 중복되어 삭제해야합니다. 예를 들어 여러 폴더에 "IMG_027", "IMG_027 (2)", "IMG_027 (2) copy"등과 같은 파일이 있습니다. 파일 이름에 "복사"및 "(2)"가있는 모든 중복 사진을 삭제할 수 있기를 원합니다. 어떤 아이디어?Python 특정 이름의 파일 선택 및 삭제

편집 : 내 질문에 투표 해 주셔서 감사합니다 ... 나는 여전히 배우고 있으며 질문을하고 싶습니다. 그것이 잘받지 못했다고 생각하지만 나는 행복하다는 대답을 배울 수 있습니다. 여러 디렉토리를 들어

import os 

DIR="./" 

for filename in os.listdir(DIR): 
    if os.path.isfile(filename) and " copy" in filename: 
    print("Deleting file \"{}\"".format(filename)) 
    os.remove(filename) 

: 하나의 디렉토리를 들어

+0

모듈'glob','fnmatch'는'shutil',') ('os.walk 명령 ,'os.listdir()' – furas

+0

'IMG_099'가 없어도 여전히'IMG_099 (2)'를 지우시겠습니까? –

+0

파일 이름을'정말로들 켰습니까? '와'IMG_099 (2) ". startswith ("IMG_099 ") :' – furas

답변

0

import os 

DIR="./" 

for ROOT, DIRS, FILES in os.walk(DIR): 
    for F in FILES: 
    filename = "{}/{}".format(ROOT, F) 

    if " copy" in filename: 
     print("Deleting file \"{}\"".format(filename)) 
     os.remove(filename) 
+0

답변 해 주셔서 감사합니다! 이것은 파일 이름의 텍스트를 제거하거나 실제로 중복 된 파일을 삭제하는 것입니까? – Nightingale

+0

'os.remove()'는 파일을 삭제합니다. –

+0

대단히 감사합니다! – Nightingale

1
filename = "IMG_027 (2) copy" 
if 'copy' in filename.lower(): 
    # your code to delete file goes here 
관련 문제