• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Python, SQL 게시판 os.listdir 이미지파일만 복사하기

os.listdir 이미지파일만 복사하기

5 글 보임 - 1 에서 5 까지 (총 5 중에서)
  • 글쓴이
  • #29646

    kk
    참가자

    1.

    for i in os.listdir('test'):
        img='.png'
        if img in i :
            shutil.copy(f'test/{i}', f'test2/{i}')

    이미지 파일만 복사해볼라구 했는데

    if img in i : 는 되는데

    if img in os.listdir('test') : 은 안되서 질문합니당

     

    print로 출력해보니까

    i는 리스트에 안 담아주고. 각각 데이터명이 나오고

    os.listdir('test')는 리스트에 담아서 각각 데이터 명이 나오는데

     

    반복문 in 뒤에는 리스트인 os.listdir('test')가 들어가야 하는 거 아닌가용?

     

    #29653

    kk
    참가자

    2. 이름바꾸기

    for i in os.listdir('test'):
        text='.txt'
        if text in i:
            for k in range(2):
                 os.rename(f'test/{i}', f'test/{k}.txt')

    (파일에 이미지 파일도 같이 있어서 if문 해줬어요)

    기존 파일명 : a0.txt a2.txt a4.txt을 0.txt 1.txt 2.txt로 바꾸고 싶은데

    저렇게 해보니깐 0.txt로만 변경되고 

    나머지는 FileNotFoundError: [WinError 2] 에러가 뜨는데 머가 잘못된건가요ㅠㅠ

    절대경로 넣어서도 해봤는데 안되네용

    #29669

    codingapple
    키 마스터

    1은

    if img in i : 

    에서 i는 현재 반복문으로 하나하나 출력중인 파일명을 뜻합니다 

    현재 파일명에 .img 라는 문자가 있는지 검사하려면 i랑 비교해봐야할듯요 

    2는 둘 째 for 반복문은 필요없어보입니다

    파일명에서 a라는 문자만 제거하고 싶으면

    k 자리에 i 넣는데 a라는 문자를 제거한 i를 넣으면 될듯요 

     

    #29731

    kk
    참가자

    1. a를 제거한 i를 어떻게 만들 수 있을까요?

    i.replace('a', ' ')해봤는데 안되네용..

     

    2. a0.txt a2.txt a4.txt을 0.txt 1.txt 2.txt로 바꾸고 싶은데

    a만 없애는게 아니라 숫자도 0 2 4 에서 0 1 2로 바꾸려고 하는데 어찌해야 할까요..ㅜㅜ

     

    #29748

    codingapple
    키 마스터

        if text in i:
            new = i.replace('a', '')
            os.rename(f'test/{i}', f'test/{new}.txt')

    이래봅시다 

    0 1 2 로 바꾸고 싶으면 new 라는 변수를 나누기 2만 하면 될듯요 

5 글 보임 - 1 에서 5 까지 (총 5 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠