리눅스에는 Regular Expression을 이용해서 파일 이름을 바꿀 수 있다는데, 그렇구나 하고 윈도우에서 쓰고싶어서 그냥 만들었음.
실행한 폴더내에서 패턴에 맞는 파일 이름들을 바꿔주는 기능.
# coding=euc-kr
import os
import re
def fileRename():
fileList = os.listdir('.')
print 'current dir:', os.getcwd()
print 'file list:', fileList
pattern = raw_input("\npattern (ex: '(?P[0-9]+).[0-9]+'): ").replace('\r', '')
replace = raw_input("replace (ex: '\g'): ").replace('\r', '')
print '\nfollowing files will be changed to:'
for fileName in fileList:
print fileName, '->', re.sub(pattern, replace, fileName)
selection = raw_input('\nwant to change file names? (y/n/r): ').replace('\r', '')
if selection == 'y':
for fileName in fileList:
os.rename(fileName, re.sub(pattern, replace, fileName))
print '\nfile names successfully changed:', os.listdir('.')
elif selection == 'n':
print '\ncanceled'
elif selection == 'r':
print '\nretry'
return False
return True
if __name__ == '__main__':
while fileRename() is not True:
pass
'Programming > Misc' 카테고리의 다른 글
| 프로그래머를 위한, 프로그래머의 Consolas 폰트 (2) | 2008/03/02 |
|---|---|
| 타이머에서 메시지 박스를 띄울때는 타이머를 중지 시키고 띄우자 (0) | 2008/03/02 |
| 파일 이름 바꾸기 - 파이썬 (0) | 2008/01/21 |
| 정규식 쓸때는 Regular Expression Workbench (2) | 2007/09/17 |
| HTML Gallery Python Script (0) | 2007/08/20 |
| C++ 생성자, 소멸자에서는 가상 함수를 호출하면 절대 안됩니다. (0) | 2007/08/01 |



Prev
Rss Feed