[Python] 파일 입출력
안녕하세요 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를 사용하면 코드의 길이를 줄일 수 있으니 한 번 해보시길 바랍니다!