파이썬 문제풀이 이어서, 마지막 문제
(6) Make a backup
< 문제 >
data.txt 파일이 현재 작업 디렉토리에 이미 존재한다.
다른 파일들(test.txt, abc.txt, backup.txt 등)은 존재하지 않는다.
사용자로부터 입력 파일명과 출력 파일명을 입력 받아 입력 파일의 내용을 그대로 출력 파일로 복제하라. 만약 입력 파일이 존재하지 않거나 출력 파일이 이미 존재한다면, 다음 화면과 같이 안내 내용을 출력하라.
< 정답 코드 >
솔직히 이해 잘 안 되는게 함정;;
파일 처리_텍스트 파일 입출력 복습
1. 파일 열기
파일을 가리킬 변수명 = open(파일명, 모드)
- 쓰기 전용
파일을 가리킬 변수명 = open(파일명, "w")
>> 파일이 존재하지 않을 때는 새로운 파일 생성
ex)
f = open("test.txt", "w")
f.close()
-- 파일에 내용 쓰기
파일을 가리키고 있는 변수명.write(1개의 문자열)
ex)
f = open("test.txt", "w")
f.write("안녕~ 반가워~ \n") # \n은 개행 문자
f.write("그 다음 내용~~")
f.close()
- 읽기 전용
파일을 가리킬 변수명 = open(파일명, "r")
>>> "r"을 생략할 수도 있다. 파일이 존재하지 않으면 오류가 발생한다.
ex)
f = open("test.txt")
f.close()
- 파일의 내용 한 줄 읽기
변수명 = 대상 파일.readline()
- 파일 내용 한꺼번에 줄 구분 없이 읽기
변수명 = 대상 파일.read()
2. 파일 닫기
파일을 가리키고 있는 변수명.close()
나중에 내용 보완하기!
(6) Make a backup
< 문제 >
data.txt 파일이 현재 작업 디렉토리에 이미 존재한다.
다른 파일들(test.txt, abc.txt, backup.txt 등)은 존재하지 않는다.
사용자로부터 입력 파일명과 출력 파일명을 입력 받아 입력 파일의 내용을 그대로 출력 파일로 복제하라. 만약 입력 파일이 존재하지 않거나 출력 파일이 이미 존재한다면, 다음 화면과 같이 안내 내용을 출력하라.
< 정답 코드 >
import os input_file_name = input("입력 파일의 이름 : ") output_file_name = input("출력 파일의 이름 : ") if not os.path.exists(input_file_name): print("읽어올 파일이 없습니다.") elif os.path.exists(output_file_name): print("내용을 쓸 파일이 이미 존재합니다.") else: in_f = open(input_file_name, "r") out_f = open(output_file_name, "w") out_f.write(in_f.read()) in_f.close() out_f.close()
솔직히 이해 잘 안 되는게 함정;;
파일 처리_텍스트 파일 입출력 복습
1. 파일 열기
파일을 가리킬 변수명 = open(파일명, 모드)
- 쓰기 전용
파일을 가리킬 변수명 = open(파일명, "w")
>> 파일이 존재하지 않을 때는 새로운 파일 생성
ex)
f = open("test.txt", "w")
f.close()
-- 파일에 내용 쓰기
파일을 가리키고 있는 변수명.write(1개의 문자열)
ex)
f = open("test.txt", "w")
f.write("안녕~ 반가워~ \n") # \n은 개행 문자
f.write("그 다음 내용~~")
f.close()
- 읽기 전용
파일을 가리킬 변수명 = open(파일명, "r")
>>> "r"을 생략할 수도 있다. 파일이 존재하지 않으면 오류가 발생한다.
ex)
f = open("test.txt")
f.close()
- 파일의 내용 한 줄 읽기
변수명 = 대상 파일.readline()
- 파일 내용 한꺼번에 줄 구분 없이 읽기
변수명 = 대상 파일.read()
2. 파일 닫기
파일을 가리키고 있는 변수명.close()
나중에 내용 보완하기!
0 Comments
Post a Comment