[3일차] 파일 실습 문제 풀이
shutil 모듈이란?
shutil 모듈은 파일과 파일 모음에 대한 여러 가지 고수준 연산을 제공합니다. 특히, 파일 복사와 삭제를 지원하는 함수가 제공됩니다. 개별 파일에 대한 연산에 대해서는, os 모듈도 참조하십시오.
os — 기타 운영 체제 인터페이스 — Python 3.10.0 문서
os — 기타 운영 체제 인터페이스 소스 코드: Lib/os.py 이 모듈은 운영 체제 종속 기능을 사용하는 이식성 있는 방법을 제공합니다. 파일을 읽거나 쓰고 싶으면 open()을 보세요, 경로를 조작하려면 o
docs.python.org
import shutil
src = './copytest.txt'
dst = './copyresult.txt'
#세가지의 메서드를 사용할 수 있음.
shutil.copy(src,dst)
shutil.copyfile(src,"./copyfile.txt")
shutil.copy2(src,"./copy2.txt") # 작성한 날짜도 복사
2 연설문 데이터 분석
-> 연설문 소문자 처리, 콤마는 공백으로 대체하고 공백을 기준으로 잘랐을때 각 단어의 개수를 찾는 프로그램
-> 개수를 찾아서 새 파일에 입력까지 해보기
<코드>
infile1 = open("./speach.txt", "r")
outfile = open("./speach_result.txt","w")
line = infile1.readline()
line = line.lower() # 소문자 처리
line = line.replace(",","") # 콤마는 공백으로 대체
list = line.split()
setting = set(list)
cnt = 0
text = ""
for i in setting:
cnt = 0
for j in list:
if i == j :
cnt = cnt+1
text = text + "\n"+ i +"개수는"+ str(cnt)
#print(i,"개수는", cnt)
outfile.write(text)
infile1.close()
outfile.close()
3. 강수량 데이터 분석
f = open('./rn_20211117162027.csv','r',encoding = 'cp949')
data = csv.reader(f)
list = []
sumrain = 0
header = next(data)
cnt = 0
for line in data:
#print(line)
cnt = cnt +1
if line != header:
sumrain = sumrain + float(line[2])
print("서울의 총 강수량 : "+str(sumrain))
print("서울의 평균 강수량 : " + str(sumrain/cnt))
f.close()
서울의 총 강수량 : 2795.2999999999997
서울의 평균 강수량 : 121.53478260869564
4. 행맨
list = ['h','a','n','g','m','a','n']
answer = ['','','','','','','']
tmp = 1
while(tmp<len(list)-1):
a = input("단어를 추측하세요 : ")
for i in range(0,len(list)):
if a == list[i]:
answer[i] = a
print(answer)
tmp = tmp+1
if tmp == 6 :
if list == answer :
print("성공입니다.")
break
else:
print("실패입니다.")
break
단어를 추측하세요 : h
['h', '', '', '', '', '', '']
단어를 추측하세요 : a
['h', 'a', '', '', '', 'a', '']
단어를 추측하세요 : n
['h', 'a', 'n', '', '', 'a', 'n']
단어를 추측하세요 : g
['h', 'a', 'n', 'g', '', 'a', 'n']
단어를 추측하세요 : m
['h', 'a', 'n', 'g', 'm', 'a', 'n']
성공입니다.