[Education]/[Python] 파이썬을 이용한 자동화 스크립트

[Python] 14. 파이썬 파일과 디렉터리 다루기 - pickle 모듈, shitl 모듈, send2trash 모듈, zipfile 모듈

starterr 2024. 12. 5. 13:23

1. 파일 - pickle 모듈

 

1) pickle 모듈 사용

- 리스트나 클래스를 파일에 저장할 때 사용

pickle 모듈 사용
pickle 모듈 사용

 

 

2. 파일과 디렉터리 관리

1) 파일과 디렉터리 관리에 대해서 다룸

- 하드디스크에 저장된 파일과 디렉터리의 관리 작업을 자동화
- 특정 확장자를 가진 파일 또는 특정 이름 패턴을 가진 파일을 지우거나 다른 디렉터리로 옮기기
- 파일이나 디렉터리를 압축하여 별도 저장 (일종의 백업 시스템)

 

2) shutil (Shell Utils) 모듈

- 파일이나 디렉터리를 복사, 이동, 리네임, 삭제를 수행하는 모듈

 

 

3. shtil 모듈 : copy

 

1) 파일과 디렉터리 복사

- shutil.copy(source, destination)

shutil.copy(source, destination)
shutil.copy(source, destination)

 

2) 파일 이동과 이름 바꾸기

- shutil.move(source, destination)

> 타깃 디렉터리에 이동하고자 하는 파일이 있으면 무브가 안됨

shutil.move(source, destination)
shutil.move(source, destination)

 

3) 파일과 디렉터리 영구 삭제

- os.unlink(path) / os.remove(path)
- os.rmdir(path) : 해당 경로가 비어있어야 함
- shutil.rmtree(path) : 경로가 비어있지 않아도 모든 파일이 삭제됨

 

 

4. 안전 삭제 : send2trash 모듈

 

- 설치 : pip install send2trash

> 삭제된 파일이나 디렉터리를 운영체제의 휴지통으로 보낸다.
> 완전 삭제가 아니라 나중에 복원이 가능하다.

pip install send2trash
pip install send2trash

 

 

5. 디렉터리 트리 운행

 

- 디렉터리순회 : os.walk(path)

디렉터리순회 : os.walk(path)
디렉터리순회 : os.walk(path)

 

 

6. zipfile 모듈을 이용하여 파일 압축과 풀기

 

1) ZIP 파일 읽기

- 먼저, ZipFile 객체를 만든다 : zipfile.ZipFile(file)

zipfile.ZipFile(file)
zipfile.ZipFile(file)

 

 

2) ZIP 파일 압출 풀기

 

- extractall() : 현재 디렉터리에 파일과 디렉터리 압축 해제
- extract(file_name) : 해당 파일만 압축 해제

extract(file_name)
extract(file_name)

 

3) ZIP 압축하기

 

- ZipFile 객체를 만들 때 ‘w’ 옵션을 부여 : zipfile.ZipFile(‘new.zip’,‘w’)

> ’w’ 모드는 파일이 새로 만들어지며, 기존 파일이 있으면 내용이 모두 지워진다.
> 컨텐츠를 추가하려면 ‘a’ 모드를 사용한다.

 

zipfile.ZipFile(‘new.zip’,‘w’)
zipfile.ZipFile(‘new.zip’,‘w’)

 

4) ZIP 파일에 파일 추가

 

- ZIP 파일을 새로 만들고 파일을 추가하는 방식 : backup_zip.write(file_name)

 

반응형

 

[PMP] 간트 차트(Gantt Chart) VS 칸반 보드(Kanban Board) - 장단점, 유사점 및 차이점

 

[PMP] 간트 차트(Gantt Chart) VS 칸반 보드(Kanban Board) - 장단점, 유사점 및 차이점

많은 프로젝트 관리 도구가 프로젝트를 계획, 관리 및 추적하는 데 도움이 될 수 있습니다.간트 차트와 칸반 보드를 비교하면 둘 다 다른 방식으로 프로젝트에 가치가 있음을 알 수 있습니다. 칸

infoofit.tistory.com

 

[Fortinet] Fortigate ssl vpn 설정 방법

 

[Fortinet] Fortigate ssl vpn 설정 방법

A. Fortigate ssl vpn settings 하기 - SSL-VPN이란 원격 즉 외부의 사용자가 VPN 터널을 통해 회사 내부 네트워크에 액세스함 Fortigate ssl vpn 설정 단계1. User 생성2. SSL VPN Portal 설정3. SSL VPN Settings 설정4. SSL VPN

infoofit.tistory.com

[금융보안] 실무자를 위한 금융권 정보보호 상시평가 업무 이해 - 정보보호 상시평가제, 정보보호 지원시스템

 

[금융보안] 실무자를 위한 금융권 정보보호 상시평가 업무 이해 - 정보보호 상시평가제, 정보보

A. 정보보호 상시평가제1. 개요정보보호 상시평가제란 금융회사와 신용정보 업자들이 연 1회 이상 『신용정보의 이용 및 관한 법률(이하 신용정보법)』 준수 현황을 점검하여, 그 결과를 금융보

infoofit.tistory.com

 

반응형