os와 shutil을 이용한 file_copy

os와 shutil(쉘 유틸리티) 모듈을 이용하여 파일 옮기기

  • 진행하려는 내용
  • naver_12와 naver_22의 내부에 있는 모든 파일을 naver_34폴더로 옮기려 합니다.
1
2
3
# 모듈 불러오기
import os
import shutil # 쉘 유틸리티
1
2
# 현재 작업경로 확인
os.getcwd()
1
2
# 작업경로 내부 파일 리스트
os.listdir(os.getcwd())
1
2
3
4
5
6
7
# 파일을 복사해올 소스 경로
base_dir = '/Users/daesuncho/Documents/Machine_Learning/project'
# 소스경로
src_dir = os.path.join(base_dir, 'naver_12')
src_dir1 = os.path.join(base_dir, 'naver_22')
# 도착경로
dst_dir = os.path.join(base_dir, 'naver_34')
1
2
3
4
# 내부 파일 숫자 확인
naver_12 = os.listdir(src_dir)
naver_22 = os.listdir(src_dir1)
len(naver_12), len(naver_22), print(len(naver_12)+len(naver_22))
1
2
3
4
5
6
7
8
9
10
# src_dir에 있는 모든 파일을 dst_dir폴더로 옮기기
for fname in naver_12:
src = os.path.join(src_dir, fname)
dst = os.path.join(dst_dir, fname)
shutil.copyfile(src, dst)
# src_dir에 있는 모든 파일을 dst_dir폴더로 옮기기
for fname in naver_22:
src1 = os.path.join(src_dir1, fname)
dst = os.path.join(dst_dir, fname)
shutil.copyfile(src1, dst)
1
2
3
# dst_dir 폴더 내부의 수량 확인하기
dstfolder = os.listdir(dst_dir)
len(dstfolder)
1
2
3
4
# 숫자가 1개 모자라는 이유 파악하기
# 특정이름의 파일 가져오기
path_dir = './naver_34/' # file path
file_list = os.listdir(path_dir) # 파일이름을 변수에 담고
1
2
3
for item in file_list:
if item.find('DS') is not -1:
print(item)