[GPT4+파이썬] 간단한 자동화 코드 만들기 (feat. 폴더명 일괄변경)

당신은 어디까지 AI를 활용해보셨나요? 특히, OpenAI의 ChatGPT를 사용해 보신 적이 있나요? 이 무료 도구로도 놀라운 결과를 얻을 수 있지만, 아주 작은 비용을 지불하면 GPT-4와 같은 최신 AI를 사용하여 더욱 향상된 결과를 얻을 수 있습니다. 그런데, 이런 AI 도구 중에서 가장 눈에 띄는 것이 바로 코딩입니다. 코드를 작성하는 것은 때때로 복잡하고 시간이 많이 소요되는 작업이지만, GPT-4를 이용하면 이를 매우 간단하게 해결할 수 있습니다. 수많은 수작업과 시간을 잡아먹는 일들이 순식간에 해결되는 것을 상상해 보세요. 이번 글에서는 ChatGPT와 파이썬을 이용하여 자동화 코드를 어떻게 만들 수 있는지에 대한 대표적인 사례를 살펴보겠습니다. 여기서 제시된 방법을 통해 여러분의 일상 업무에 어떻게 AI를 활용할 수 있는지에 대한 아이디어를 얻어가시기를 바랍니다.

우리는 종종 반복적인 작업에 매몰되어, 생산성을 향상시킬 수 있는 더 중요한 일들을 놓치곤 합니다. 특히, 파일 시스템에서 특정 패턴을 가진 폴더명을 일괄적으로 변경해야 하는 상황이 그러한 경우 중 하나입니다. 생각해보세요, 월별로 정리된 업무 관련 폴더의 이름을 하나하나 변경한다는 것은 얼마나 고되고 시간 소모적인 일일까요? 이러한 작업들을 자동화하면 얼마나 많은 시간을 절약할 수 있을까요? 그럼 이제, AI의 힘을 이용해 이 문제를 해결해보겠습니다.

  • 문제상황
    • 원래 폴더명 : 202210 글로벌전략 프로젝트
    • 바꾸고 싶은 폴더명 : 2022-10-글로벌전략 프로젝트

파이썬은 강력한 프로그래밍 언어이며, 여기에 GPT-4의 능력을 결합하면 놀라운 결과를 얻을 수 있습니다. 파이썬의 os 모듈은 우리가 파일 시스템을 손쉽게 다룰 수 있게 도와주며, re 모듈은 복잡한 패턴을 손쉽게 찾아내는 데 사용됩니다. 이 두 가지 모듈을 활용하여, 우리는 폴더명을 일괄적으로 변경하는 코드를 쉽게 작성할 수 있습니다.

이제 아래의 코드를 통해 폴더 이름을 “[연도]-[월]-[프로젝트명]” 형식으로 변경하는 방법을 자세히 살펴보겠습니다.

text

import os
import re

def rename_subfolders(path):
    for root, dirs, files in os.walk(path):
        for dir in dirs:
            match = re.match(r'(\\d{4})(\\d{2}) (.*)', dir)  # [연도][월] [프로젝트명] 형식을 찾습니다
            if match:
                new_dir = match.group(1) + '-' + match.group(2) + '-' + match.group(3)  # [연도]-[월]-[프로젝트명] 형식으로 변경합니다
                old_dir_path = os.path.join(root, dir)
                new_dir_path = os.path.join(root, new_dir)
                os.rename(old_dir_path, new_dir_path)  # 폴더 이름을 변경합니다

path_to_rename = "/your/path/to/folders"
rename_subfolders(path_to_rename)

이 코드는 어떻게 동작할까요? 다음과 같이 단계별로 설명하겠습니다.

  1. 먼저, osre 라는 두 개의 파이썬 모듈을 임포트합니다. os 모듈은 운영체제와 상호작용하게 해주고, re 모듈은 정규표현식을 사용할 수 있게 해줍니다.
  2. rename_subfolders라는 함수를 정의합니다. 이 함수는 주어진 경로(path)에 있는 모든 폴더와 서브폴더를 탐색합니다. 이를 위해 os.walk 함수를 사용합니다.
  3. 각 폴더에 대해, 폴더 이름이 “[연도][월] [프로젝트명]” 형식을 따르는지 확인합니다. 이를 확인하기 위해 re.match(r'(\\d{4})(\\d{2}) (.*)', dir)라는 코드를 사용합니다. 여기서 (\\d{4})(\\d{2}) (.*)은 연속된 4개의 숫자, 연속된 2개의 숫자, 그리고 그 뒤에 오는 어떤 문자열을 찾는 정규표현식입니다.
  4. 만약 폴더 이름이 “[연도][월] [프로젝트명]” 형식을 따른다면, 새로운 폴더 이름을 생성합니다. 이 새로운 이름은 기존 이름에 ``를 추가하여 “[연도]-[월]-[프로젝트명]” 형식을 따르게 됩니다.
  5. 마지막으로, 폴더의 이름을 변경합니다. 이 작업은 os.rename 함수를 이용해 수행되며, 함수에는 원래 폴더 경로(old_dir_path)와 새 폴더 경로(new_dir_path)를 인자로 제공합니다. 이렇게 하면 운영 체제가 폴더의 이름을 새로운 이름으로 변경합니다.
  6. 이 함수는 실제로 폴더와 하위 폴더의 이름을 변경하려면, 함수 호출 부분인 rename_subfolders(path_to_rename)에서 path_to_rename를 실제로 변경하고 싶은 폴더들이 위치한 경로로 변경해야 합니다.

이 코드를 통해, 폴더 구조를 관리하는 데 있어서 효율적이고 일관된 명명 규칙을 적용할 수 있게 됩니다. 이런 식으로 파이썬을 이용하면 복잡하고 반복적인 작업을 간단하게 자동화할 수 있습니다. 이제 이런 유형의 문제를 해결할 때 이 코드를 참고하거나, 필요에 따라 수정해서 사용하실 수 있습니다.

우리의 일상 업무에서 AI를 활용하는 것은 생각보다 어렵지 않습니다. 이 글을 통해, ChatGPT와 파이썬을 이용하여 간단한 자동화 코드를 작성하는 방법을 배우셨을 것입니다. 이제 여러분이 직면하는 여러 문제들을 해결하는 데 이 도구들을 어떻게 활용할 수 있는지를 생각해보세요. 예를 들어, 파워포인트 발표자료를 만들고 싶나요? 그러면 파이썬 대신에 PPT를 생성하는 VBA 코드를 ChatGPT에게 작성해 달라고 해보세요. 무수한 사례들을 당신의 상상에서만 머물지 말고, 이제 ChatGPT를 이용해서 실제로 구현해 볼 수 있습니다.

하지만 주의해야 할 점은, 코드를 실제 환경에서 실행하기 전에는 반드시 테스트 환경에서 먼저 실행해보는 것이 좋습니다. 또한, 폴더명이 정확하게 예상한 형식을 따르지 않을 때 코드를 어떻게 수정해야 하는지에 대한 추가적인 팁도 제공하겠습니다. 이렇게 해서, 우리는 AI의 힘을 이용하여 업무의 효율성을 향상시키고, 반복적인 업무로부터 시간을 아낄 수 있습니다.