Python(파이썬)을 이용한 파일명 변경
여러분, 사무실이나 집에서 가끔 한글 파일이나 txt 파일의 이름을 일괄적으로 바꿔야 하는 상황이 있지 않으신가요? 이 경우에 파이썬을 이용하면 아주 손 쉽게 우리가 원하는 작업을 할 수 있습니다.
‘GPT-4가 무료라구요?(Feat. AI 서비스 앨런)‘ 포스트에서 소개드린 Alan을 이용하여 특정한 폴더 내에 있는 파일명 변경작업을 자동화하는 Python(파이썬) 코딩을 함께 해보시죠.
바로 이전 포스트인 Python(파이썬)을 이용한 파일 생성 에 이어서 파이썬을 이용한 파일명 변경 작업을 해보도록 하겠습니다.
* 본문에 있는 그림을 조금 더 자세히 보시기를 원하시는 분은 클릭하시면 확대가 됩니다.
Python 소스코드 작성 요청하기
우선, Alan을 실행하고 가스라이팅(넌 파이썬 전문가야~)을 하고 시작해야겠죠? (참고로 프롬프팅을 더 잘하기 위해서 효과적인 AI 프롬프트 작성 가이드(2024년 최신): 역할지정, 수행작업, 맥락, 형식 활용 포스트를 한번 천천히 읽어보시기 바랍니다. Google에서 제안하는 방법입니다.)
아니면 Alan 메뉴 중 ‘지난 대화‘를 클릭해서 이전 포스트에서 작업했던 것을 불러오기 해도 됩니다. 저는 아래와 같이 Alan에게 소스코드 작성을 요구했습니다.
파일명에 240310과 같은 날짜형식의 텍스트가 들어가 있는 파일이 수십개 있어. 이게 특정폴더 안에 들어가 있는데, 먼저 그 폴더를 통째로 복사하고, 그 다음 복사한 폴더 내에 있는 파일의 이름은 240310이 제일 앞으로 나오도록 Coding해줘.
Alan에게 파일명 변경 작업 소스코드를 요구하는 프롬프팅
혹시나 모를 오류를 대비해서 작업대상 파일이 있는 폴더를 복사하고, 그 복사한 폴더를 대상으로 작업을 하기 위해서 위와 같이 명령을 내렸습니다. 그랬더니 아래와 같이 답변을 받았습니다.
import os
import shutil
# 원하는 폴더 경로로 변경하세요.
source_directory = 'source_directory'
destination_directory = 'destination_directory'
# 폴더를 복사합니다.
shutil.copytree(source_directory, destination_directory)
# 복사한 폴더 내의 파일 이름을 변경합니다.
for filename in os.listdir(destination_directory):
if '240310' in filename:
new_filename = '240310' + filename.replace('240310', '')
source = os.path.join(destination_directory, filename)
destination = os.path.join(destination_directory, new_filename)
os.rename(source, destination)
소스코드 실행 준비
잠시 복습하고 가실께요. Coding에 ‘코’자도 모르시면 세가지만 알면 된다고 했던거 기억하시나요?
첫번째, AI서비스에 접속해서 원하는 작업에 대한 Coding 요청하기, 두번째, 생성된 소스코드를 복사해서 통합개발환경(IDE) 프로그램에 붙혀넣고 실행하기, 세번째, 원하는 결과를 얻지 못할 경우 Alan과 함께 소스코드 수정 보완하기 입니다.
VS Code를 실행하고 파이썬 파일을 하나 생성합니다. 저의 경우 2nd_filename_change.py을 생성했습니다.위 소스코드를 VS Code로 복붙하고 source_directory와 destination_directory를 지정합니다. 아래 그림과 같이 저는 각각 C:\source_code, C:\source_code\change로 지정했습니다.
소스코드 실행
자, 이제 파이썬 소스코드 실행준비가 되었으니 VS Code 우측 상단의 실행버튼(▷)을 누르면 될까요?
그런데 곰곰히 생각해보니 source_code라는 폴더는 생성되어 있는데 그 하위에 change라는 폴더가 없는데요? 그래도 파이썬이 똑똑해서 우리가 원하는 작업을 처리할 수 있을까요? 그 결과는 아래와 같습니다.
놀랍게도 파이썬은 자동으로 change라는 폴더를 생성하고 그 안에 우리가 원하는 작업을 반영한 파일을 만들어 두었습니다. 240310 이란 텍스트가 파일명의 제일 앞으로 가있는 것을 아래의 그림에서 확인할 수 있습니다.
source_code 폴더 내에 파이썬 파일(.py)과 작업하려는 txt 파일이 같이 있다보니 파이썬 파일이 작업완료 폴더(change)에 복사되어 있는 옥에 티도 보이네요. 작업폴더와 소스코드 파일의 폴더를 따로 구분해서 하시면 이런 일이 발생하지 않겠죠?
소스코드 해석하기
오늘은 파이썬 실력 향상을 위해서 한발짝 더 나가보겠습니다. Alan이 소스코드를 짜주면 우리는 단지 ‘복붙’만 했습니다. 이제 Alan에게 이 소스코드에 대해 해석해달라고 해보겠습니다.
위 그림과 같이 소스코드를 생성해 준 Alan 창에서 “위 코드를 라인별로 상세하게 설명 부탁해“라고 입력합니다. 그러면 Alan 선생께서 line-by-line으로 자세하게 설명을 해줍니다.
이제 Coding 학원이나 관련 웹사이트 방문 없이도 독학이 훨씬 수월해 질 것 같습니다.
‘이 내용으로는 부족해. 난 더 깊이 알고 싶어’ 하시는 분은 라인별로 명시되어 있는 것들에 대해 Alan에게 물어보시면 자세히 알려줄 겁니다. 아니면 직접 구글링 해서 관련 문서를 찾아보시면 더 체계적으로 학습하실 수 있습니다.
예를 들면, ‘import os가 os라는 모듈을 불러오는거 같은데 os라는 모듈은 뭐지?’라고 Alan에게 물으시면 됩니다. 아니면 ‘python os module’ 키워드로 직접 구글링 하시면 파이썬 관련 홈페이지의 공식 설명을 보실 수 있습니다.
정리하기
이번 포스트에서는 AI서비스를 이용하여 파일명 변경을 위한 코드소스를 생성하고 VS Code에서 실행해서 그 결과까지 확인하는 작업을 해보았습니다.
그리고 한걸음 더 나아가서 소스코드를 해석하는 능력까지 키워보았습니다. 물론 Alan이 그 역할을 다 해주었죠. 또 이렇게 우리는 Coding에 익숙해져 가고 있습니다.
파이썬! 마~ 니 그렇게 어렵지는 않네!! 2의 인생 살아보기 도우미, secondlife.lol에 테리였습니다.
‘secondlife.lol’의 모든 콘텐츠는 저작권법의 보호를 받습니다. 무단 전재와 복사, 배포 등을 금합니다.