파일 이름 특정 문자들을 일괄로 지우기(2)

2022. 8. 31. 13:32· 코딩/파이썬
반응형

이번에는 확장자 앞에 공백이 있을 경우 그 공백이 사라질 때 까지 지우는 기능을 추가한다.

 

먼저 파일이 여러개라면 확장자 리스트를 준비한다.

# 확장자 리스트
ext_list = ['.txt', '.zip', '.epub', '.7z', '.mp4', '.avi', '.pdf']

그리고 공백을 지우는 작업을 해 준다.

for i in ext_list:
    # 해당 확장자 파일인 경우
    #if target_name.find(i) != -1:
    if target_name in ext_list:
        # 확장자 앞 칸
        b_num = target_name.find(i) - 1
        # 확장자 앞 칸이 공백이라면
        if target_name[b_num] == ' ':
            # 확장자 앞 칸이 문자가 나올때 까지 공백 지우기
            print('지우기 전: ', target_name)
            while 1 == 1:
                # 확장자 앞에 공백이 없다면
                if target_name[b_num] != ' ':
                    print('지운 후: ', new_name)
                    break
                # 공백 지우기
                new_name = ''.join(target_name[x]
                                   for x in range(len(target_name))
                                   if x != b_num)

                old_path_name = os.path.join(src, target_name)
                new_path_name = os.path.join(src, new_name)
                os.rename(old_path_name, new_path_name)
                target_name = os.path.basename(new_path_name)

문자열에 해당 확장자가 있는지 검사한다.

# 해당 확장자가 문자열에 없을때 -1을 리턴
if target_name.find(i) != -1:
# 해당 확장자가 문자열에 있는지 확인
if target_name in ext_list:

둘 중 아무거나 써도 상관 없다.

해놓고 생각난건대 굳이 저렇게 확장자가 있는지 검사할 이유가 없었다.

 

'문자열'.find('문자') : i라는 문자가 있으면 그 자리 번호를 리턴

a = 'abcde'
print(a.find('c'))

# 출력
2

확장자 앞칸의 공백을 없애고 싶기 때문에 확장자 위치를 기준으로 -1칸이 공백인지 검사한다.

if target_name[b_num] == ' ':

그리고 공백이 아닐때 까지 무한반복한다.

while 1 == 1:
    # 확장자 앞에 공백이 없다면
    if target_name[b_num] != ' ':
        print('지운 후: ', new_name)
        break
    # 공백 지우기
    new_name = ''.join(target_name[x]
                       for x in range(len(target_name))
                       if x != b_num)

문자열에서 문자 하나만 지우는 방법이 3가지가 있는데

https://codechacha.com/ko/python-remove-char-in-string/

여기서 참고하면 된다.

 

이후 이름 바꾸기

old_path_name = os.path.join(src, target_name)
new_path_name = os.path.join(src, new_name)
os.rename(old_path_name, new_path_name)
target_name = os.path.basename(new_path_name)
반응형

'코딩 > 파이썬' 카테고리의 다른 글

BeautifulSoup 크롤링 속도 높이기  (2) 2023.10.10
Queue(큐)  (0) 2023.10.10
Double Linked List(더블 링크드 리스트)  (1) 2023.10.10
Circle List(써클 리스트)  (0) 2023.10.10
Linked List(링크드 리스트)  (0) 2023.10.10
'코딩/파이썬' 카테고리의 다른 글
  • Queue(큐)
  • Double Linked List(더블 링크드 리스트)
  • Circle List(써클 리스트)
  • Linked List(링크드 리스트)
샐프
샐프
샐프
무엇이든
샐프
전체
오늘
어제
  • 분류 전체보기 (55)
    • 개발일지 (1)
    • 이것저것 개발 (2)
    • 코딩 (30)
      • 디스코드 (6)
      • 파이썬 (16)
      • 기타 (8)
    • 아무거나 만들어 봄 (20)
      • 제목으로 장르 분류하기 (8)
      • 파일 빨리 옮기기 (2)
      • kBO 크롤링 (2)
      • KBO 타자 OPS 예측 경진대회 (8)
    • 알고리즘 (2)
      • 프로그래머스 (0)
      • 백준 (0)
      • [프로그래머스] 내일은 코딩테스트 with 파이썬 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • boxplot
  • jupyter 서버
  • yes24 ebook 뷰어
  • pyqt5 연결
  • ebook pdf 추출
  • 파일 이름 변경
  • pyqt5-designer
  • yes24 ebook
  • 파이썬
  • 도커
  • ebook 뷰어
  • 셀레니움
  • csv 한글 깨짐
  • 동적 페이지 크롤링
  • PyQt5
  • 파이썬 데이터프레임
  • yes24 ebook pdf 추출
  • 0x80041002
  • drm 제거
  • designer 연동
  • ebook to pdf
  • ebook drm
  • kbo 크롤링
  • 동적 크롤링
  • 문자 지우기
  • designer 연결
  • 콘다 오류
  • conda activate error
  • wsl2
  • 데이콘

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
샐프
파일 이름 특정 문자들을 일괄로 지우기(2)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.