ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬으로 개인정보 탐색기 만들기
    기술(Tech) 2023. 3. 31. 23:15
    반응형

    안녕하세요! 오늘은 C언어를 배우고 파이썬을 배운지 얼마 안 된 초보 개발자가 개인정보 탐색기를 만들어봤다는 경험을 공유해보려 합니다. 프로그래밍을 처음 시작한지 얼마 되지 않았지만, 이번 작업을 통해 많은 것을 배우고 성취감을 느꼈습니다. 이번 포스팅에서는 어떤 기능을 가진 개인정보 탐색기를 만들었는지, 어떻게 만들었는지, 그리고 코드의 핵심을 간략히 소개해보려고 합니다. 함께 봐주세요!

    사용방법은 다음과 같습니다.

     

    1. 바탕화면에 폴더를 생성합니다.

     

    2. 새 폴더에 탐색할 파일 'csv, txt, java, js' 등등.... 붙여넣습니다.

     

    3. 탐색 프로그램을 바탕화면으로 이동합니다. 여기서는 탐색기.exe로 생성하였습니다. 

    이동 후 실행해보겠습니다.

    • 탐색기 프로그램을 실행하면 현재 경로와 현재 경로에 있는 폴더 그리고 파일들을 나타냅니다.
    • User\Desktop 하위 폴더는 새폴더입니다.  

    폴더가 여러개 있다면 인덱스 0 부터 시작하는 것을 보여줍니다.

    •  프로그램 실행 시 현재경로(바탕화면)에 있는 하위폴더 새폴더,(2),(3)을 탐색할 수 있습니다.

    • 프로그램의 핵심 기능입니다. '한컴 탐색기'와는 다르게 여러 확장자를 탐색할 수 있습니다.

    확장자 뿐만아니라 문자열도 찾을 수 있습니다.

    • 프로그램의 핵심 기능입니다. 확장자 뿐만아니라 찾을 문자도 여러개 입력 가능합니다.
    반응형

    결과 창.

    import os
    
    # 현재 경로와 하위 폴더/파일을 출력하는 함수
    def print_dir(path):
        print(f"Current directory: {path}\n")
    
        try:
            # 현재 경로에 있는 하위 폴더와 파일들을 가져옴
            dir_list = os.listdir(path)
    
            # 하위 폴더/파일 출력
            for item in dir_list:
                print(item)
    
        except Exception as e:
            print(str(e))
    
    # 찾을 문자열을 포함하는 파일들을 출력하는 함수
    def search_files(path, search_strings, extensions):
        print(f"Searching for '{search_strings}' in '{extensions}' files under '{path}'\n")
    
        # 모든 하위 폴더/파일을 순회하면서 찾을 문자열을 포함하는 파일을 검색
        for dirpath, _, filenames in os.walk(path):
            for filename in filenames:
                # 파일 확장자 검사
                ext = os.path.splitext(filename)[1][1:].strip().lower()
                if ext not in extensions:
                    continue
    
                # 파일 내용 검사
                file_path = os.path.join(dirpath, filename)
                with open(file_path, 'r', encoding='utf-8') as f:
                    for line in f.readlines():
                        if all(string in line for string in search_strings):
                            print(file_path)
                            break
    
    # 메인 함수
    if __name__ == '__main__':
        # 현재 경로 및 하위 폴더/파일 출력
        current_dir = os.getcwd()
        print_dir(current_dir)
    
        # 하위 폴더/파일에서 찾을 문자열 및 확장자 설정
        search_strings = ['Hello', 'world']
        extensions = ['csv', 'txt', 'java', 'js']
    
        # 찾을 파일 출력
        search_files(current_dir, search_strings, extensions)

     

    반응형

    댓글

Designed by Tistory.