1. 파일 읽고 쓰기
1) 경로 확인 : 사용자마다 파일을 저장하고 읽는 기본 경로를 '홈 디렉터리'
- pathlib 패키지의 Path.home() 함수로 사용자 홈 디렉터리를 확인한다.
# 홈 디렉터리 확인
from pathlib import Path
print(Path.home())
# 출력 결과
C:\Users\User
- pathlib 패키지의 Path.cwd() 함수로 현재 작업 디렉터리를 확인한다.
# 작업 디렉터리 확인
from pathlib import Path
print(Path.cwd())
# 출력 결과
C:\Users\User\Python
2) 파일 읽고 쓰기
① 쓰기 : w 모드로 파일을 열어 wirte() 메서드로 파일에 기록한다.
- 이미 같은 이름의 파일이 있다면 제거되고 새 파일이 만들어진다.
# 파일 열기
f = open('MyFile.txt', 'w')
# 파일 쓰기
f.write('안녕하세요?\n')
# 파일 닫기
f.close()
- 새로운 디렉터리 만들기 : mkdir()
- exist_ok=Ture를 지정하면 이미 폴더가 있는 경우, 해당 폴더를 사용한다.
# 디렉터리 만들기
Path('Files').mkdir(exist_ok=True)
- 경로를 지정하여 특정 디렉터리 안에 파일을 만든다. ('/' 사용)
# 파일 열기
f = open('Files/MyFile.txt', 'w')
# 파일 쓰기
f.write('모두들 안녕하세요?\n')
# 파일 닫기
f.close()
② 파일 읽기
# 파일 열기
f = open('MyFile.txt', 'r') # 경로를 지정할 경우 f = open('Files/MyFile.txt', 'r')
# 내용 읽기
print(f.read())
# 파일 닫기
f.close()
③ 파일 내용 추가
- a 모드로 파일을 열어 write() 메서드로 내용을 추가한다.
# 파일 열기
f = open('MyFile.txt', 'a')
# 내용 추가
f.write('만나서 반갑습니다!')
# 파일 닫기
f.close()
# 추가된 내용 확인
# 파일 열기
f = open('MyFile.txt', 'r')
print(f.read())
f.close()
# 출력 결과
안녕하세요?
만나서 반갑습니다!
** 같은 이름의 파일이 있어 오류가 나는 것에 대해 핸들링을 한다.
# 오류 핸들링
try:
f = open('MyFile.txt', 'x')
f.write('만나서 반갑습니다!')
f.close()
except FileExistsError: # 이미 파일이 있으면
print('같은 이름의 파일이 있습니다.')
else: # 그렇지 않으면
print('파일 쓰기 성공했습니다.')
finally: # 마무리
print('수고하셨습니다.')
# 출력 결과
같은 이름의 파일이 있습니다.
수고하셨습니다.
2. 워드 클라우드 그리기
# 라이브러리 불러오기
import numpy as np
from PIL import Image
# 이미지 불러오기
masking_image = np.array(Image.open('human.jpg'))
# 워드 클라우드 만들기
wordcloud = WordCloud(font_path = 'C:/Windows/fonts/HMKMRHD.TTF',
width=2000,
height=1000,
mask=masking_image,
background_color='white').generate_from_frequencies(wordCount)
# 표시하기
plt.figure(figsize=(12, 6))
plt.imshow(wordcloud)
plt.axis("off")
plt.tight_layout(pad=0)
plt.show()
'파이썬 > 데이터 다루기' 카테고리의 다른 글
[240911] 파이썬 #11 - 이메일 보내기 (0) | 2024.09.11 |
---|---|
[240911] 파이썬 #10 - 엑셀 파일 다루기 (0) | 2024.09.11 |
[240911] #파이썬08-정규표현 (0) | 2024.09.11 |
[240910] #파이썬07 함수- 출력(Output) (0) | 2024.09.10 |
[240910] # 파이썬06 - 함수 (입력_Input) (0) | 2024.09.10 |