[파이썬] #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()
댓글
댓글 쓰기