• 목록
  • 아래로
  • 위로

폴더 및 하위 폴더 내의 파일에서 문자열을 일괄적으로 replace하는 스크립트입니다.


도메인 등 문자열을 일괄적으로 변경해야 하는 경우에 사용하려고 작성했습니다.


os.walk()를 이용하면 하위 디렉토리까지 간편하게 검사할 수 있고, fnmatch.filter()로 검색패턴을 정해줄 수 있더군요. ^^


import os, fnmatch

def folderReplace(find_str, replace_str, filePattern):
    for path, dirs, files in os.walk(os.path.dirname(os.path.abspath(__file__))):
        for filename in fnmatch.filter(files, filePattern):
            if filename == 'file_replace.py': # 이 파일 자체는 변경하지 않도록 합니다.
                continue
            filepath = os.path.join(path, filename)
            with open(filepath) as f:
                s = f.read()
            if s.find(find_str) != -1: # 해당 문자열이 존재하는지 확인합니다.
                print(filepath)
                s = s.replace(find_str, replace_str)
                with open(filepath, 'w') as f: # 교체된 문자열로 덮어씁니다.
                    f.write(s)



다음과 같은 형식으로 함수를 호출하시면 됩니다.


folderReplace('변경 전 문자열', '변경 후 문자열', '파일패턴')


파일패턴은 '*.확장자' 등 다양하게 사용할 수 있습니다.



https://studyforus.com/tipnknowhow/640995


이 글과 결합하면 replace 횟수까지 표시할 수 있겠네요 ^^



작성자
이니스프리 119 Lv. (0%) 1940080/115200000EXP

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

댓글 0

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 마스터 24.02.11.17:21 875
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 4549
449 파일질라 최신버전에서 윈도우 비스타를 지원 종료했네요 1 title: 은메달도다 17.05.27.15:45 305
448 크롬에서 스타벅스 와이파이 자동 로그인해주는 확장 프로그램 1 블루블루 17.06.06.01:36 703
447 생활 속 전기 절약하기 3 image 맛수타 17.06.06.13:55 311
446 대학생이라면 PHPStorm 무료로 이용하세요 2 image Eagles Eagles 17.06.11.14:30 4690
445 xe 비밀번호/아이디 3 맛수타 17.06.12.06:04 690
444 HTTPS (SSL서버) 보안 점검해주는 사이트 4 블루블루 17.06.17.01:02 543
443 xss 공격 방어 라이브러리 jin**** jin**** 17.07.18.20:30 2092
442 갓모드를 만들어 봅시다 [윈도우 10] 9 image TVJ title: 열려라 맛스타의 자물쇠TVJ 17.07.24.00:01 549
441 대학생일 경우 윈도우10 무료로 받을 수 있습니다 5 image benjamin 17.07.30.08:51 715
440 제가 알고 있던 통신사 계약기간 만료시 꿀팁을 공개합니다! 3 TVJ title: 열려라 맛스타의 자물쇠TVJ 17.08.21.23:06 518
439 작업 관리자의 CPU 이름 바꾸기 1 image 하루살이 title: 황금 서버 (30일)하루살이 17.09.03.11:33 3828
438 활성 네트워크 이름 바꾸기 1 image 하루살이 title: 황금 서버 (30일)하루살이 17.09.03.11:36 2886
437 오라클 DB 사용할 때 유용한 사이트 1 프요 17.09.06.09:22 378
436 무료로 50GB 클라우드를! 8 TVJ title: 열려라 맛스타의 자물쇠TVJ 17.09.08.23:00 796
435 웹에 파이썬의 날개를! Hanam09 Hanam09 17.09.24.20:04 424
434 SSH에서 자주쓰는 명령어를 짧게 만들어 놓기 2 NoYeah NoYeah 17.09.29.15:00 517
433 [SSH] php 파일에서만 원하는 문자열 검색 스크립트 image 연우빠 연우빠 17.10.02.01:59 402
432 GIF 파일의 용량을 줄여주는 사이트 - gifgifs.com image 이니스프리 이니스프리 17.10.09.12:57 17667
431 꼭 한번 들러보자! 전국 휴게소 맛집 5 image Adam title: 대한민국 국기Adam 17.10.09.16:58 396
430 [펌] 헷갈리기 쉬운 맞춤법 2 image Adam title: 대한민국 국기Adam 17.10.09.17:27 444