Python

[Python] 파이썬 파일 생성, 읽기, 쓰기, 내용 추가

Let it out 2024. 2. 7. 16:58

파일을 여는 함수 open

파이썬에서 파일을 열기 위해서 파이썬 내장 함수 open을 사용한다.

open 함수원형은 아래와 같다.


파일 객체 = open(파일 이름, 파일 열기 모드)

f = open(Test.txt, 'r')
 

 

 

파일 열기 모드

파일 열기 모드는 r, w, a 가 있으며 기능은 아래와 같다.
 
r : 읽기 모드 (파일을 읽기만 할 수 있다.)
 
w : 쓰기 모드 (파일에 내용을 쓸 수 있다.)
 
a : 추가 모드 (파일 마지막에 새로운 내용을 추가 한다.)
 
 

파일 생성하기

Test.txt 파일을 'w'(쓰기모드)로 생성하는 예제다.
 
프로그램을 실행 시키면 Test.txt 파일이 생성되어 현재 프로젝트 경로에 저장된다.
 
f.close() 파일의 객체 f를 닫아주는 역할을 한다.
 
그런데 파이썬에서는 자동으로 파일의 객체를 닫아 준다고 하니 생략해도 된다.
 
하지만 혹시 모를 버그를 대비해서 직접 닫아주는 것이 좋다.
f = open("Test.txt", 'w')
f.close()
 

 

 

생성한 파일 확인

이제 Test.txt 파일을 확인 하러 가보자.
당신이 파이참을 사용하는데 프로젝트의 경로를 모르면 다음과 같이 따라하면 된다.
 
1. 빨간색 동그라미 표시된 것을 클릭.
 
 
 
2. Settings를 클릭
 
 
 
3. 순서 대로 클릭하여 경로를 확인해준다.
 
 
 
4. 경로 폴더에 가보니 Test.txt가 생성된 걸 확인 할 수 있다.
 
5. Test.txt를 열어보면 파일을 생성만 했으니 당연히 텅 비어있다.

 

 

 

프로젝트 경로가 아닌 원하는 경로에 파일 생성하기

Test.txt앞에 C:/Example/ 경로를 붙여주기만 하면 된다.
f = open("C:/Example/Test.txt", 'w')
f.close()
디렉토리를 가보면 정상적으로 생성 된 것을 확인 할 수 있다.

 

 
 
 

파일 생성하고 내용 쓰기

다음은 파일을 'w'(쓰기 모드)로 열고 내용을 쓰는 방법이다.
f = open("C:/Example/Test.txt", 'w')
write = "hello\n"
write2 = "world"

f.write(write)
f.write(write2)

f.close()
결과 : Test.txt 파일이 생성되고 hello world가 작성 되었다.
 

 

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

파일 열기 모드 중 'a' 추가 모드를 사용해서 파일에 새로운 내용 추가가 가능하다.
 
파일 열기 모드 중 'w'쓰기 모드를 사용해서 파일을 수정하면 모두 사라지기 때문에 'a'를 사용 해야한다.
 
아래 Test.txt 파일을 예제로 사용한다.

 

 
 
'a' 추가 모드로 열고 apple을 새롭게 덧붙였다.
f = open("C:/Example/Test.txt", 'a')
data = "\napple"
f.write(data)
f.close()
 
Test.txt를 열어보면 apple이 추가 된 것을 확인 할 수 있다.

 

 
 

파일 읽기

외부의 데이터를 가져오고 싶을 때는 데이터가 저장된 파일을 읽어서 가져오는 방법을 사용한다.
아래 Test.txt를 예제로 한다.
 
 

read() 함수 사용해서 전체 내용 읽어오기

read() 함수를 사용하면 파일의 전체 내용을 가져올 수 있다.
 
파일 열기 모드는 'r' (읽기모드)를 사용해야 한다.
f = open("C:/Example/Test.txt", 'r')
data = f.read()
print(data)
f.close()
결과 :
hello
world
apple
 
 

 

readline() 함수 사용하여 첫 줄 읽어오기

readline() 함수는 첫 번째 줄의 내용을 가져온다.
f = open("C:/Example/Test.txt", 'r')
data = f.readline()
print(data)
f.close()
결과 : hello
 
 
 

readlines() 함수 사용하여 모든 줄 리스트로 읽어오기

 readlines() 함수는 모든 줄을 읽어온다.
이 때 결과를 리스트로 돌려준다.
f = open("C:/Example/Test.txt", 'r')
data = f.readlines()
print(data)
f.close()
결과 : ['hello\n', 'world\n', 'apple']
반응형