[파이썬] #9 - file 다루기


 [파이썬] #9 - file 다루기




#파일처리
#open함수
#open(파일명, 모드[encoding, newline..])
#open 함수의 두번째 매개변수를 w 로 두면 쓰기모드로 동작하여 파일생성, 기존생성된 파일은 삭제되낟.

open('./data/file_01.txt', 'w')

#파일에 내용추가
output_filename = "./data/file_02.txt"

output = open(output_filename, 'w')
output.write('파일내용작성ㅎㅎㅎ')
#파일 시스템 리소스 접근경우 반드시 close메소드호출필요
output = open(output_filename, 'r') #파일 읽기
fileData = output.read()

print(fileData)
output.close()

#구구단 출력
fname = "./data/file_04.txt"

output = open(fname, 'w')
output_data = []

for dan in range(2,10) :
    output_data.append(f"{dan}을 출력합니다")
    for mul in range(1, 10) :
        output_data.append(f"{dan} X {mul} = {dan*mul}")

output.writelines(map(lambda line : line + '\n', output_data))

output = open(fname, 'r')
lines = output.readlines()

# input_data 리스트 변수를 map 함수를 사용하여
# 각 리스트 내부의 값들에 포함된 개행문자를
# 제거하세요.
lines = map(lambda x : str(x).rstrip() , lines)
for line in lines :
    print(line)
output.close()

#성적처리를 위해 3과목의 성적을 입력받고
#총점, 평균을 저장

scores = []
total = 0
while True : 
    try :
        input_data = int(input(f"{total+1}번째 성적입력:"))
    except :
        print("잘못된값 입력")
        input_data = input(f"{total+1}번째 성적 다시 입력:")
        scores.append(input_data)
        total += 1
    else : 
        if input_data >= 0 and input_data <= 100 :
            scores.append(input_data)
            total += 1
        else :
            input_data = input(f"{total+1}번째 성적 다시 입력:")
            scores.append(input_data)
            total += 1 
    if total == 3 : break

tot = sum(scores)
avg = tot/total
output_data = ",".join(map(lambda x : str(x), scores))
output_data = f'{output_data},{str(tot)},{str(avg)}\n'
print(output_data)

fname = './data/file_05.txt'
output_file = open(fname, 'w')
output_file.write(output_data)

output_file = open(fname, 'r')
print( output_file.readline() )
output_file.close()

댓글

이 블로그의 인기 게시물

[파이썬] #2-모듈설치 및 스파이더(spyder)사용

[Tool-Tip] 에디트플러스에서 자동정렬기능 추가하기

[파이썬] #1- 아나콘다 설치, 아나콘다 파이썬 환경 만들기