Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

브이로그

2024년 3월 21일 Python- File Library 본문

Python

2024년 3월 21일 Python- File Library

황수환 2024. 3. 21. 17:46

1. OS

파이썬의 os모듈은 운영 체제와 상호 작용하는 많은 함수와 유틸리티를 제공해

이 모듈을 사용하면 파일, 디렉토리 또는 운영체제에 관한 작업을 수행할 수 있어.

 

이렇게 생기게 되고

다시 실행해주면 리스트형태로 출력이 되지

 

2. glob모듈은 파일과 폴더 이름을 찾을 때 사용하는 파이썬의 도구야

이 모듈의 이름은 전역적으로 찾기라는의미에서 global에서 유래했대

특정 패턴에 일치하는 파일이나 폴더 이름을 쉽게 찾아

data폴더 안에있는 .txt파일의 경로를 찾아서 다 찾아내는거

 

그럼 이제 특정 파일들을 찾아볼껀데

파일명 글자 수로 파일을 찾는건데 ?가 글자수를 의미해서 glob함수에 ?의 갯수만큼의

파일을 찾는거지 세 개면 세글자 파일 두 개면 두글자 파일을 찾는거지

 

그다음에 문자열과 한글로 파일명을 찾는건데 문자열은 [a-z]가 한 개의 문자 한글은 [가-힣]이 한 글자야

그래서 그 갯수만큼 적어주면

여기서 문자열의 갯수만큼의 파일을 찾아서 출력

한글 갯수만큼의 파일을 찾아서 출력해주는거지

 

글자 일부분만 적어서 찾는 방법도 있어

 

3. fileinput은 파이썬에서 여러 입력 스트림을 동시에 순회하는데 유용하지

주요 용도는 명령줄에서 명시된 여러 파일을 동시에 읽는 스크립트를 작성하는 거야

 

먼저 임포트를 해주고나서 os.path.join 이걸로 데이터 안에 텍스트 파일들을 다 결합해주는거야

 

3-1. 각 파일의 첫 번째 라인을 찾아서 변경해주기

inplace를 해줘서 덮어씌워줄껀데 파일안에 첫번째 라인이면 저 문구로 바꾸어주는 코드야

각 첫 번째라인을 첫 번째라인입니다 라고 출력해주고 나서 

'검색된 라인을 변경했음'이라고 변경한 코드야

 

3-3. 키워드를 찾아 원하는텍스트로 치환하기

 

replace로 다시 덮어주면서 세 번째라고 하는 코드를 짜줬는데

그러면 아래처럼 3번에 세 번째라고 나오는걸 볼 수 있어

 

4. pickle은 파이썬 객체 구조를 직렬화하고 역직렬화라는 프로세스를 제공해

파이썬 객체를 바이트 스트림으로 변환 다시 파이썬 객체로 복원할 수 있다는거야

직렬화해서 이렇게 나온거고

역직렬화해서 복원되고 출력이 된게 보이지~

요번에는 요 딕셔너리를 변환해주었다가 다시 복원을 해볼께

 

직렬화해서 이렇게 바이트로 변환이 되고 다시 역직렬화해서 딕셔너리 형태로 복원이 된거지

 

5. shutil은 고수준 파일 연산을 수행하기 위한 유틸리티 모듈이야 기본적인 os모듈에서 제공하는 기능을 확장

파일 및 디렉토리를 복사, 이동, 삭제,하는데 사용할 수 있는 더 다양한 함수를 제공해

앞에 파일 이름을 뒤에 파일에 복사를 하는데 같은 이름으로 복사를 하는거야

그리고 복사한 파일을 데이터안에 이동시키고 확장명을 .py로 바꿔주는거야

 

6. fnmatch는 파일 이름과 패턴을 비교하거나 매칭하는데 사용되는 파이썬의 표준 라이브러리 모듈 중 하나

와일드 카드 문자를 사용하여 파일 이름을패턴과 비교하고 일치하는지 확인하는거야

재미로 보도록 해!

 

7. 데이터 압축은 데이터 압축 및 아카이브 생성을 위한 모듈을 제공해 이러한 모듈들을 사용하면 다양한 압축 및 아카이브 형식으로 데이터를 처리할 수 있지

 

헬로파이썬!에 만을 곱해주면 데이터 야이 나오는데 이걸 컴프레션을사용하여 인코딩해주면

293으로 줄어들고 다시 디코딩해주면 다시  13만의 데이터 양이 생기지

 

gzip내부적으로 zilb 알고리즘을 사용해

 

zipfile,tar : 여러 개 파일을 zip, tar확장자로 합쳐서 압축할 때 사용해

오늘도 요기까지 끝!!