폴더 내 html 파일 문자열 일괄로 삭제하는 법

조회수 437회

파이썬으로 구현해볼까 하는데요,
특정 폴더내의 모든 html 파일에서
<script ~~~ /script> 사이의 모든 문자열을 제거하고 싶어요ㅠㅠ
편집기로 해봤는데 ~~~ 사이 범위에 내용이 너무 많아서 제대로 안되더라구요...
파이썬이 아니라 다른 언어도 좋으니 도움주실분 없으실까요ㅠㅠ

1 답변

  • # 정규표현식으로 이렇게 해결 가능하다는 아이디어만 봐주세요.
    import re
    
    # 파일 콘텐츠 일체를 불러옵니다. 이 부분은 테스트 안해봤는데 아마 되겠죠.
    with open('Path/to/file', 'r') as content_file:
        content = content_file.read()
    
    # 1단계. 모든 줄바꿈을 없앱니다.
    content = re.sub(r"\n", "", content, 0, re.MULTILINE)
    
    # 2단계. </script>가 나올 때마다 줄을 바꿔줍니다.
    content = re.sub(r"<\/script>", "</script>\n", content, 0, re.MULTILINE)
    
    # 3단계. 이제 각 라인에 대해서 <script 어쩌고>저쩌고</script> 패턴을 맞출 수 있습니다.
    # 찾아서 모두 날려줍니다.
    content = re.sub(r"<script.*\/script>\n", "", content, 0, re.MULTILINE)
    
    # 덮어쓰면 끝
    with open('Path/to/file', 'w') as overwrite:
        overwrite.write(content)
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)