파 이 썬 은 폴 더 에 있 는 파일 이름 을 대량으로 조작 합 니 다.

파일 이름 조작 에 관 한 작은 물건
  • 파일 이름 앞 에 지정 한 텍스트 추가
  • 파일 이름 뒤에 지정 한 텍스트 추가
  • 파일 이름 에 지 정 된 텍스트 삭제
  • 파일 이름 목록 을 가 져 오고 txt 파일 을 기록 합 니 다

  • 인터넷 에서 일부 과정 자 료 를 내 렸 는데 파일 이름 에 작은 광고 가 붙 어 있 는 것 을 발견 했다. 파일 을 읽 을 때 번 거 로 우 면 작은 프로그램 을 써 서 대량으로 처리 하려 고 했다.
    파일 이름 앞 에 지정 한 텍스트 추가
    먼저 os. listdir () 함 수 를 이용 하여 선택 한 폴 더 의 디 렉 터 리 를 가 져 오고 폴 더 인지 여 부 를 판단 합 니 다. 폴 더 가 아니면 Olddir 에 저장 한 다음 Olddir 를 옮 겨 다 니 며 os. path. splitext () 함 수 를 사용 하여 선택 한 폴 더 의 파일 이름과 파일 접미사 이름 을 각각 저장 하여 후속 파일 이름 수정 작업 을 진행 합 니 다. 다음은 파일 이름 앞 에 지정 한 문 자 를 추가 합 니 다.그래서 Newdir 에 저 장 된 것 은 (text + filename + filetype) 입 니 다. 이것 은 추 가 된 새로운 파일 이름 입 니 다. 마지막 으로 os. rename () 함 수 를 호출 하여 이름 을 바 꾸 면 됩 니 다.
    #            
    def fore_add():
        text = text_entry.get()
        #          
        filelist = os.listdir(path)
        for files in filelist:
            Olddir = os.path.join(path, files)
            #              
            if os.path.isdir(Olddir):
                continue
            #      
            filename = os.path.splitext(files)[0]
            #       
            filetype = os.path.splitext(files)[1]
            Newdir = os.path.join(path, text + filename + filetype)
            #             
            os.rename(Olddir, Newdir)
    

    파일 이름 뒤에 지정 한 텍스트 추가
    파일 이름 앞 에 지정 한 문 자 를 추가 하 는 것 과 차이 가 많 지 않 습 니 다. 바로 Newdir 의 내용 이 약간 바 뀌 었 습 니 다. 즉, (filename + text + filetype) 다른 작업 과 일치 합 니 다.
    #            
    def end_add():
        text = text_entry.get()
        filelist = os.listdir(path)
        for files in filelist:
            Olddir = os.path.join(path, files)
            if os.path.isdir(Olddir):
                continue
            filename = os.path.splitext(files)[0]
            filetype = os.path.splitext(files)[1]
            Newdir = os.path.join(path, filename + text + filetype)
            os.rename(Olddir, Newdir)
    

    파일 이름 에 지정 한 텍스트 삭제
    파일 이름 에 지정 한 문 자 를 추가 하 는 것 보다 파일 이름 에 지정 한 문 자 를 삭제 해 야 합 니 다. 문자열 이 있 는 *. replace () 방법 이나 정규 표현 식 의 re. sub () 방법: replace (): replace (...) method of builtins. str instance S. replace (old, new [, count]) - > str 두 개의 필수 매개 변수 old 와 new 는 각각 교체 할 텍스트 와 교체 할 텍스트 입 니 다.삭제 하려 면 '빈 문자' 로 하면 됩 니 다. 세 번 째 매개 변 수 는 count 가 선택 할 수 있 는 매개 변수 즉 교체 횟수 입 니 다.문자열 의 방법 을 사용 하 는 것 외 에 re 정규 표현 식 라 이브 러 리 를 사용 하여 도 가능 합 니 다.re. sub () 방법 을 사용 합 니 다. sub (pattern, repl, string, count = 0, flags = 0) pattern 은 지정 한 모드 를 대표 합 니 다. 지정 한 텍스트 에 대해 서 는 지정 한 문 자 를 매개 변수 로 직접 사용 할 수 있 습 니 다.repl 은 바 꿔 야 할 문자 입 니 다. 삭제 하려 면 빈 문자 입 니 다.string 은 바 꿔 야 할 문자열 을 대표 합 니 다.count 는 선택 가능 한 매개 변수 입 니 다. replace () 와 마찬가지 로 교체 횟수 를 말 합 니 다.Tips: Python 문자열 이 가지 고 있 는. replace () 방법 이 든 re 가 제공 하 는. sub () * 방법 이 든 원래 문자열 을 바 꾸 지 않 습 니 다. 반환 값 만 바 꾸 는 문자열 입 니 다.따라서 바 뀐 문자열 을 사용 하려 면 반환 값 을 변수 에 할당 해 야 합 니 다.
    #           
    def delete_words():
        text = text_entry.get()
        #          
        filelist = os.listdir(path)
        for files in filelist:
            Olddir = os.path.join(path, files)
            #              
            if os.path.isdir(Olddir):
                continue
            #      
            filename = os.path.splitext(files)[0]
            #            
            print(filename)
            filename = re.sub(text, '', filename)
            print(text)
            print(filename)
            #       
            filetype = os.path.splitext(files)[1]
            Newdir = os.path.join(path, filename + filetype)
            #             
            os.rename(Olddir, Newdir)
    

    파일 이름 목록 가 져 오기 및 txt 파일 쓰기
    이전에 가 져 온 파일 이름 목록 을 문자열 에 형식 대로 저장 하고 숫자 를 기록 할 count 를 추가 하여 숫자 를 기록 하고 통 계 를 조금 만 합 니 다.여기에 서 는 각 파일 이름 을 문자열 에 저장 한 다음 덮어 쓰기 모드 를 사용 합 니 다. 순환 목록 은 같은 폴 더 가 여러 번 실 행 된 후에 중복 되 는 것 을 방지 하기 위해 서 입 니 다.파일 을 열 었 을 때 파일 을 제때에 닫 는 것 을 주의해 야 합 니 다. with 문 구 를 사용 하 는 것 을 권장 합 니 다. with 블록 이 끝나 거나 오류 가 발생 하면 시스템 은 자동 으로 파일 을 닫 습 니 다.
    #           txt  
    def file_name2txt():
        #            
        count = 0
        filelist = os.listdir(path)
        txt = ''
        #    with  , with            ,         
        with open(str(path) + '/File_List.txt', 'w') as reader:
            for file in filelist:
                if os.path.isdir(file):
                    continue
                txt = txt + file + '
    '
    count += 1 txt = txt + '* ' + str(count) + '
    '
    reader.write(txt)

    코드 다운로드 링크: 폴 더 내 파일 일괄 작업 프로그램 은 파일 이름 앞 / 뒤에 지정 한 문 자 를 추가 하거나 지정 한 문 자 를 삭제 하 는 데 사 용 됩 니 다. tkinter 가 만 든 간단 한 인터페이스 입 니 다.

    좋은 웹페이지 즐겨찾기