# 경로 금지 문자 제거, HTML문자 제거
def filename_remover(string):
cleaner = re.compile('<.*?>|&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-f]{1,6});') #<tag>,   등등 제거
string = re.sub(cleaner, '', string)
while(string[-1] == '.'):
string = string[:-1] #끝에 . 제거 ex) test... -> test
non_directory_letter = ['/', ':', '*', '?', '<', '>', '|'] #경로 금지 문자열 제거
for str_ in non_directory_letter:
if str_ in string:
string = string.replace(str_, "")
return string
웹에서 파일을 받아오는데.. 이름 그대로 디렉터리를 생성할때 특수문자, HTML 태그가 포함되어 있는 경우가 있어서 제거하는 함수를 만들어 봤습니다.
폴더 생성할때 중간이나 앞에 .(점) 찍는건 되도 맨 뒤에 폴더... 이런식으로 만들면 뒤에 .이 다 사라지고 폴더로
바뀌어 버리더군요. 그래서 그것도 처리했습니다.
*, ? 이런문자들은 당연히 처리했는데 ㄱ+한자로 넣으면 폴더 이름에 ?도 넣을 수 있더군요.
물론 표면상으로 똑같이 생겼지 실제론 다른 문자일것이지만요.
*, ?를 똑같이 생긴 특수문자로 치환하면 폴더에서 보이게 할 수도있을거 같긴합니다. 일단 날려버리는쪽으로 진행했습니다.
아무생각없이 짜긴했는데.. 더 깔끔하게 만들 수 있을거 같긴한데 귀찮으니 그냥 쓰는걸로..
HTML 태그 제거 정규식 참고
stackoverflow.com/questions/9662346/python-code-to-remove-html-tags-from-a-string
'프로그래밍 > Python' 카테고리의 다른 글
[Python] LSTM 미래 주가 분석 참고글 (0) | 2021.02.04 |
---|---|
JupyterLab에서 사용자 지정 단축키 Keyboard ShortCuts 설정하기 (0) | 2020.12.13 |
[Python] 엑셀파일 인덱스 차례대로 Pandas로 읽어오기 (0) | 2020.08.27 |
[Python] PushBullet으로 SMS 전송하기 (1) | 2020.08.19 |
[Python] Blynklib 로컬 서버 연결하기 (0) | 2020.03.15 |