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

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

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

사무실 일상에서 마주치는 문제

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

AI를 이용한 해결 방법 : ChatGPT+파이썬

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

코드에 대한 설명

이제 아래의 코드를 통해 폴더 이름을 "[연도]-[월]-[프로젝트명]" 형식으로 변경하는 방법을 자세히 살펴보겠습니다.
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 모듈은 정규표현식을 사용할 수 있게 해줍니다.
  1. rename_subfolders라는 함수를 정의합니다. 이 함수는 주어진 경로(path)에 있는 모든 폴더와 서브폴더를 탐색합니다. 이를 위해 os.walk 함수를 사용합니다.
  1. 각 폴더에 대해, 폴더 이름이 "[연도][월] [프로젝트명]" 형식을 따르는지 확인합니다. 이를 확인하기 위해 re.match(r'(\\d{4})(\\d{2}) (.*)', dir)라는 코드를 사용합니다. 여기서 (\\d{4})(\\d{2}) (.*)은 연속된 4개의 숫자, 연속된 2개의 숫자, 그리고 그 뒤에 오는 어떤 문자열을 찾는 정규표현식입니다.
  1. 만약 폴더 이름이 "[연도][월] [프로젝트명]" 형식을 따른다면, 새로운 폴더 이름을 생성합니다. 이 새로운 이름은 기존 이름에 를 추가하여 "[연도]-[월]-[프로젝트명]" 형식을 따르게 됩니다.
    1. 마지막으로, 폴더의 이름을 변경합니다. 이 작업은 os.rename 함수를 이용해 수행되며, 함수에는 원래 폴더 경로(old_dir_path)와 새 폴더 경로(new_dir_path)를 인자로 제공합니다. 이렇게 하면 운영 체제가 폴더의 이름을 새로운 이름으로 변경합니다.
    1. 이 함수는 실제로 폴더와 하위 폴더의 이름을 변경하려면, 함수 호출 부분인 rename_subfolders(path_to_rename)에서 path_to_rename를 실제로 변경하고 싶은 폴더들이 위치한 경로로 변경해야 합니다.
    이 코드를 통해, 폴더 구조를 관리하는 데 있어서 효율적이고 일관된 명명 규칙을 적용할 수 있게 됩니다. 이런 식으로 파이썬을 이용하면 복잡하고 반복적인 작업을 간단하게 자동화할 수 있습니다. 이제 이런 유형의 문제를 해결할 때 이 코드를 참고하거나, 필요에 따라 수정해서 사용하실 수 있습니다.
     
    notion image
     

    결론과 추가 팁

    우리의 일상 업무에서 AI를 활용하는 것은 생각보다 어렵지 않습니다. 이 글을 통해, ChatGPT와 파이썬을 이용하여 간단한 자동화 코드를 작성하는 방법을 배우셨을 것입니다. 이제 여러분이 직면하는 여러 문제들을 해결하는 데 이 도구들을 어떻게 활용할 수 있는지를 생각해보세요. 예를 들어, 파워포인트 발표자료를 만들고 싶나요? 그러면 파이썬 대신에 PPT를 생성하는 VBA 코드를 ChatGPT에게 작성해 달라고 해보세요. 무수한 사례들을 당신의 상상에서만 머물지 말고, 이제 ChatGPT를 이용해서 실제로 구현해 볼 수 있습니다.
     
    하지만 주의해야 할 점은, 코드를 실제 환경에서 실행하기 전에는 반드시 테스트 환경에서 먼저 실행해보는 것이 좋습니다. 또한, 폴더명이 정확하게 예상한 형식을 따르지 않을 때 코드를 어떻게 수정해야 하는지에 대한 추가적인 팁도 제공하겠습니다. 이렇게 해서, 우리는 AI의 힘을 이용하여 업무의 효율성을 향상시키고, 반복적인 업무로부터 시간을 아낄 수 있습니다.