shutil 및 for문 질문이요

조회수 551회
import glob

import shutil

import os

import sys


filename =  glob.glob('**/*.jpg', recursive=True)

filename =
 [os.path.basename(name) for name in filename]

for name in filename:

    if not os.path.exists('jpg_files'):
        os.mkdir('jpg_files')
    jpg_files = 'jpg_files'
    shutil.copy (name, os.path.join (jpg_files, name))
    print(name)

안녕하세요 ~~ 제가 원하는 파일만 복사하는 툴을 만들려고 하는데,,

아무것도 복사가 안되네요 ,,ㅠ 위 코드 보시다시피 이 파이썬파일이 있는 폴더에서

jpg파일만 따로 모아서 jpg_files란 새롭게 만들어진 폴더로 복사하고 싶은데

for 문 구문부터파일이 안모아 지네요,,, 이유가 뭘까요?

filename = [os.path.basename(name) for name in filename] 여기까진 리스트형식으로 jpg파일이 저장이 됩니다.

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    코드에 특별한 문제가 없어보여 테스트 해봤습니다. ubuntu 18.04(4.15.0-50-generic)에서 잘 됩니다.

    • 작업디렉토리: /home/allinux/aaaaa
    In [2]: import glob 
       ...:  
       ...: import shutil 
       ...:  
       ...: import os 
       ...:  
       ...: import sys 
       ...:  
       ...:  
       ...: filename =  glob.glob('**/*.jpg', recursive=True) 
       ...:  
       ...: filename = [os.path.basename(name) for name in filename]                
    
    In [3]:                                                                         
    
    In [3]: filename                                                                
    Out[3]: ['FbzxIDl.jpg', 'i0859402069.jpg', 'CeZ7Tv8.jpg']
    
    In [4]: for name in filename: 
       ...:  
       ...:     if not os.path.exists('jpg_files'): 
       ...:         os.mkdir('jpg_files') 
       ...:     jpg_files = 'jpg_files' 
       ...:     shutil.copy (name, os.path.join (jpg_files, name)) 
       ...:     print(name) 
       ...:                                                                         
    FbzxIDl.jpg
    i0859402069.jpg
    CeZ7Tv8.jpg
    
    In [5]: cd jpg_files/                                                                                                           
    /home/allinux/aaaaa/jpg_files
    
    In [6]: ls -al                                                                                                                  
    합계 300
    drwxr-xr-x 2 allinux allinux   4096  5월 29 23:36 ./
    drwxrwxr-x 3 allinux allinux   4096  5월 29 23:36 ../
    -rwxrwxrwx 1 allinux allinux 123978  5월 29 23:36 CeZ7Tv8.jpg*
    -rwxrwxrwx 1 allinux allinux 104089  5월 29 23:36 FbzxIDl.jpg*
    -rwxrwxrwx 1 allinux allinux  61932  5월 29 23:36 i0859402069.jpg*
    
    • 감사합니다!! 우분투에서 돌리니!! 작동하네요!! 김한 2019.6.3 15:57

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)