본문 바로가기
Python/함수, 입출력, 파일

[Python] 파일

by 코딩잡아먹는자바 2023. 7. 16.
728x90

<파일 생성하기>

파일을 생성하기 위해서는 파이썬 내장 함수 open을 사용해야 한다.

파일 객체 = open(파일 이름, 파일 열기 모드)
파일 열기 모드 설명
r 읽기 모드 - 파일을 읽기만 할 때 사용
w 쓰기 모드 - 파일에 내용을 쓸 때 사용
a 추가 모드 - 파일의 마지막에 새로운 내용을 추가할 때 사용

 

f = open("새파일.txt", "w")
f.close() # 열려 있는 파일 객체를 닫아 주는 역할

위 코드를 실행하면 프로그램을 실행한 디렉터리에 새로운 파일이 하나 생성될 것이다.

 

<파일을 쓰기 모드로 열어 출력값 적기>

f = open("새파일.txt", "w")
for i in range(1, 11):
    data = "%d번째 줄입니다.\n" %i
    f.write(data)
f.close()

위 코드를 실행하면 새파일.txt 파일이 생성되었음을 확인할 수 있고 파일을 열면 내용이 담겨져 있는 것 또한 확인할 수 있다.

실행 결과

 

<프로그램의 외부에 저장된 파일을 읽는 방법>

 

● readline함수

f = open("새파일.txt", "r")
line = f.readline()
print(line)
f.close()

위 코드는 open("새파일.txt", "r")로 파일을 읽기 모드로 연 후 readline()을 사용해서 파일의 첫 번째 줄을 읽어 출력한다.

 

모든 줄을 읽어서 화면에 출력하고 싶으면

f = open("새파일.txt", "r")
while True:
    line = f.readline()
    if not line: # 더 이상 읽을 줄이 없으면
        break # break를 수행
    print(line)
f.close()

while True: 무한 루프 안에서 f.readline()을 사용해 한 줄씩 읽어 들이면 된다.

 

● readlines 함수

readlines 함수는 파일의 모든 줄을 읽어서 각각의 줄을 요소로 갖는 리스트로 돌려준다.

f = open("새파일.txt", "r")
lines = f.readlines()
for line in lines:
    print(line)
f.close()

 

● read 함수

read 함수는 파일의 내용 전체를 문자열로 돌려준다.

f = open("새파일.txt", "r")
data = f.read()
print(data)
f.close()

 

<파일에 새로운 내용 추가하기>

쓰기 모드('w')로 이미 존재하는 파일을 열면 그 파일의 내용이 모두 사라지게 된다. 하지만 추가 모드('a')로 열게 되면 원래 있던 값을 유지하면서 새로운 값을 추가할 수 있다.

f = open("새파일.txt" ,"a")
for i in range(11, 20):
    data = "%d번째 줄입니다.\n" %i
    f.write(data)
f.close()

 

<with문과 함께 사용하기>

with문은 자동으로 파일을 열고 닫는 것을 처리해준다.

with open("foo.txt", "w") as f:
    f.write("Python is fun")

with문을 사용하면 with 블록을 벗어나는 순간 열린 파일 객체 f가 자동으로 close된다.

728x90

'Python > 함수, 입출력, 파일' 카테고리의 다른 글

[Python] 입출력  (0) 2023.07.15
[Python] 함수  (0) 2023.07.15