-
[Python] 파일 입출력코딩일기 2021. 1. 5. 22:44
안녕하세요 Becca입니다!
이번 글에서는 Python으로 파일 입력, 출력을 해보겠습니다.
1. 5줄을 입력받은 뒤, 파일명을 입력받아서 파일명.txt를 만듭니다.
1-1. for문을 이용한 파일 입력
line = [] print("5줄 입력") for i in range(5): if i == 4: line.append(input()) else: line.append(input() + '\n')
5줄을 입력받아 빈 list인 line에 저장합니다.
name = input("파일명 입력 (파일명.txt) >> ") file = open(name, mode = 'w') for i in range(5): file.write(line[i]) file.close()
파일명을 입력받고, 파일을 쓰기 모드 'w'로 설정하고 열어줍니다.
그리고 for문을 이용하여 line에 저장한 것을 파일에 넣습니다.
마지막으로 파일을 닫아줍니다.
1-2. with를 이용한 파일 입력
txt = "" print("5줄 입력") for i in range(5): if i == 4: txt += input() else: txt += input() + '\n'
5줄을 입력받아 txt에 저장합니다.
name = input("파일명 입력 (파일명.txt) >> ") with open(name, mode = 'w') as file: file.write(txt)
파일명을 입력받고, 파일을 쓰기 모드 'w'로 설정하고 열어줍니다.
그리고 with를 이용하여 txt에 저장한 것을 파일에 넣습니다.
2. 파일명을 입력받아서, 그 파일의 5줄을 출력합니다.
2-1. with를 이용하지 않은 파일 출력
name = input("파일명 입력 (파일명.txt) >> ") file = open(name, mode = 'r') print(file.read()) file.close()
파일명을 입력받고, 파일을 읽기 모드 'r'로 설정하고 열어줍니다.
그리고, 파일에 저장된 글을 read로 읽어와서 출력합니다.
마지막으로 파일을 닫아줍니다.
2-2 with를 이용한 파일 출력
name = input("파일명 입력 (파일명.txt) >> ") with open(name, mode = 'r') as file: print(file.read())
파일명을 입력받습니다.
with를 이용하여 파일을 읽기 모드 'r'로 설정하고 열어줍니다.
그 후, file을 read로 읽어와서 출력합니다.
with를 이용한 코드와 이용하지 않은 코드에서 차이점을 찾으셨나요?
차이점은 바로 file.close()의 존재 여부입니다.
원래 open을 사용하면 close도 같이 사용해주어야 합니다.
그러나 with를 사용한다면, with를 빠져나갈 때 close를 자동으로 해준다고 합니다.
with를 사용하면 코드의 길이를 줄일 수 있으니 한 번 해보시길 바랍니다!
'코딩일기' 카테고리의 다른 글
[Oracle DB] 단일행 함수 - 문자 함수 (0) 2022.05.10 [Oracle DB] 단일행 함수 - 숫자 함수 (0) 2022.05.04 [Oracle DB] SQL 기본 (0) 2022.05.02