인터넷에서 파일을 다운로드 받을 때, 파일이름이 URL decode 되지 않은채로 다운로드되는 경우가 있다
파일 사용 자체에는 문제 없지만, 파일이름을 알아보기 힘들다는 문제점이 있다
그런 파일들이 많을 때는 더 문제다
그래서 특정 디렉토리 내의 파일들의 이름을 url-decode하는 코드를 작성해봤다.
실행에는 python3가 필요하다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | """ Filename : urldecode.py Python version : 3 Usage example : python urldecode.py C:\\my_dir """ import os import argparse from pathlib import Path from urllib.parse import unquote parser = argparse.ArgumentParser(description='특정 디렉토리의 url-encoded 파일이름들을 decode하는 프로그램') parser.add_argument('dirpath', type=str, help='url-encoded 파일들이 위치한 디렉토리 경로') args = parser.parse_args() dirpath = Path(args.dirpath) filenames = [x for x in dirpath.iterdir() if x.is_file()] for x in filenames: print(x) yn = input('rename all? (Y/n) : ').lower() if yn != 'y': exit(0) for old in filenames: new = Path(unquote(old.name)) if new == old: continue print('Renamed {old} -> {new}'.format(old=old, new=new)) old.rename(new) | cs |
'Language > python' 카테고리의 다른 글
[python] BeautifulSoup4 vs Scrapy (0) | 2018.05.01 |
---|---|
[python] map object (0) | 2018.04.26 |
[python] for문과 yield문, return문 (0) | 2018.04.24 |
[python] elasticsearch-dsl scan / index / doc_type (0) | 2018.04.12 |
[python] logging handler class 소개 (0) | 2018.04.12 |
WRITTEN BY
- hojongs
블로그 옮겼습니다 https://hojongs.github.io/