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 답변
-
코드에 특별한 문제가 없어보여 테스트 해봤습니다. 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*
댓글 입력