2023. 3. 14. 13:05ㆍ파이썬
1) jupyter notebook 설치 및 적용법
1. 파이썬 설치
2. cmd 창 -> pip install jupyter
cf) 설치가 되지 않은 경우 : --upgrade 실행
3. 주피터 노트북 실행 -> jupyter notebook --notebook dir = '해당주소'
cf) jupyter notebook 테마 설치 -> pip install jupyterthemes
테마 종류 ->jt -t onedork
주피터 노트북 단축키
1. 셀 선택모드(esc)
a = 위에 새로운 셀 추가
b = 아래에 새로운 셀 추가
c = 셀 복사
v = 셀 붙여넣기
dd = 셀 삭제
m = 마크다운으로 변경
y = 코드로 변경
2. 셀 입력모드 (enter)
ctrl + enter = 셀 실행
shift + enter = 셀 실행후 아래 셀로 이동
alt + enter =셀 실행 후 아래 새로운 셀 추가
ctrl + a = 선택 셀 코드 전체 선택
ctrl + z = 선택 셀 코드 실행 취소
ctrl + y = 선택 셀 코드 다시 실행
ctrl + / = 커서 위치 주석 처리 (#)
2) 파일 읽기 및 저장하기 (in jupyter notebook)
1-1)현재 경로 확인
import os
os.getcwd()
1-2)디렉토리 내 파일 확인하기
os.listdir(os.getcwd())
1-3)경로설정
path = 'sample/' = 주피터 노트북이 실행된 곳에 sample이란 폴더 경로 저장
1-4) 파일 찾아보기
# 확장자로 찾기
print(glob.glob('*.txt'))
for filename in glob.glob('*.txt'):
print(filename)
################################
# 하위 경로로 찾기
print(glob.glob('**/*.txt'))
for filename in glob.glob('**/*.txt'):
print(filename)
################################
# 현재 + 하위 경로에서 찾기
print(glob.glob('**/*.txt',recursive = True):)
for filename in glob.glob('**/*.txt',recursive = True):
print(filename)
# 파일명 글자수로 찾기 = ?로 자리수를 표현한다.
# 4글자의 모든 확장자 찾기
for filename in glob.glob('????.*',recursive =True): # ????.* 글자수
print(filename)
# 문자열, 패턴 포함 파일명 찾기
#영어로된 3글자 모든 확장자
for filename in glob.glob('[a-z][a-z][a-z].*',recursive =True):
print(filename)
#하위폴더에 '새파일로 시작하는 모든 확장자
for filename in glob.glob('**/새파일*.*'):
print(filename)
#하위폴더에 '프로젝트'단어가 사이에 들어가는 모든 확장자
for filename in glob.glob('**/*프로젝트*.*'):
print(filename)
1. fileinput
텍스트 파일을 읽고, 쓰고, 저장하는 기능을 편리하게 사용하게 해주는 라이브러리
여러개의 파일을 읽어서 수정 가능
fileinput.isfirstline() = 첫번째 라인인지 검사해주는 메소드
inplace = True 덮어쓰기
파일 출력하기
with fileinput.input(glob.glob(os.path.join(path,'*.txt'))) as f:
for line in f:
print(line)
1번째 코드셀
'첫번째 라인입니다\n' = \n띄어쓰기가 적용되있는것 까지 입력해야된다.
3번재 코드셀 (텍스트 치환)
list.replace(before 텍스트, after 텍스트) 사용
2.glob
해당 경로의 파일 이름을 리스트로 반환
glob.glob(os.path.join(path, '*.txt'))
# os 라이브러리 -> path 경로에 관련된 메소드 -> join 경로를 연결하는 메소드
# *.txt = 모든 텍스트 파일 지정
3.pickle
파이썬에서 사용하는 딕셔너리,리스트,클래스 등의 자료형을 변환없이 그대로 저장할 때 사용하는 모듈
pickle.dump(data,f) = f라는 파일에 data를 입력
pickle.load(f) = f 라는 파일을 불러온다. (list로)
4. fnmatch
glob와 동일하게 특정한 패턴을 따르는 파일명을 찾아주는 모듈
파일명 매칭 여부는 T n F로 반환하기때문에 os.listdir(조건 ex) , _ + )함수와 함께 사용
# 사용법
# 파일명은 '새'로 시작하고, 확장자명은 '.txt'를 검색
# 확장자를 제외한 파일명의 길이는 4개이며, 파일명의 마지막 문자는 숫자
for filename in os.listdir('./sample'):
if fnmatch.fnmatch(filename, '새??[0-9].txt'):
print(filename)
5. shutil
파일을 복사하거나, 이동할 때 사용하는 내장 모듈
shutil.copy()
shutil.move()
# 파일 복사하기
import shutil
shutil.copy('sample/새파일1.txt','sample/새파일1복사본.txt')
# 파일 이동 or 확장자 명 변경
shutil.move('./sample/새파일1복사본.txt','./새파일1복사본.txt')
shutil.move('./새파일1복사본.txt','./새파일1복사본.py')
6. zlib (인코딩, 디코딩시 사용)
zlib.compress(data.encode('코덱')) = 압축
zlib.compress(data.decode('코덱')) = 복호화
7. gzip
파일을 압축하거나, 해제할 때 사용
내부적으로 zlib 알고리즘
# 1234 텍스트 파일에 새로쓰기로 data 입력
with open('1234.txt','w') as f:
f.write(data)
# gzip.open('새로운 파일명.gz,'방식')
# f.write()
with gzip.open('compressed.txt.gz','wb') as f:
f.write(data.encode('utf-8'))
# gzip.open('새로운 파일명.gz,'방식')
# f.read()
with gzip.open('compressed.txt.gz','rb') as f:
org_data = f.read().decode('utf-8')
8. tarfile
여러개의 파일을 tar 확장자로 합쳐서 압축할 때 사용하는 모듈
tarfile.add() = 파일 추가 (압축할)
tarfile.extractall() = 압축 풀기
with tarfile.open('./sample/새파일1.tar','w') as mytar:
mytar.add('./sample/새파일1.txt')
mytar.add('./sample/새파일2.txt')
mytar.add('./sample/새파일3.txt')
mytar.add('./sample/새파일4.txt')
mytar.add('./sample/새파일5.txt')
'파이썬' 카테고리의 다른 글
Day14_MySQL _Python 데이터 삽입+삭제+수정+출력 (0) | 2023.03.22 |
---|---|
Day13_Python_ DAO,DTO,VO (0) | 2023.03.21 |
Day 8 변수 타입 어노테이션 (0) | 2023.03.14 |
Day 8 클로저와 데코레이터 (0) | 2023.03.14 |
Day 8 파일 입출력 (0) | 2023.03.14 |