Data Science/1) Python 기초

[3일차] 파일 실습 문제 풀이

은구잇 2021. 11. 20. 13:53
728x90

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']
성공입니다.