Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

RUBY

텍스트파일 쓰기 본문

프로그래밍 언어/Python

텍스트파일 쓰기

ruby-jieun 2023. 1. 10. 00:03

 

 

텍스트파일 쓰기

 


 

 

기본함수

open(), read(), write(), close()를 이용한 텍스트 파일 다루기

 

파일 열기

파일을 생성할때에 사용하는 함수 open()

 

open() 함수 기본 모양

def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True):

def open(file, mode='r'):

open 함수는 파일을 열고 해당 파일에 대한 스트림을 반환한다.
파일 열기를 실패했을때는 Error를 발생시킨다.

 

첫번째 인자 file
- 파일 경로를 집어 넣는다.

두번째 인자 mode
- 파일이 열리는 옵션, 모드. 이 모드에 따라 읽기 용인지 파일을 생성하고 쓸것인지 등이 정해진다.
- 'r' : 기본값으로 정해져 있으며 파일을 읽기 위한 옵션. 파일이 없으면 에러가 발생한다.
- 'w' : 쓰기모드이며 파일에 내용을 쓸 때 사용하는 옵션, 만약 이미 파일이 존재하면 커서를 맨 앞으로 돌리면서 뒤에 내용을 다 잘라내기 때문에 내용이 사라질 수 있다. 파일이 존재하지 않는다면 새롭게 파일을 생성한다.
- 'a' : 쓰기모드이며 파일에 내용을 쓸 때 사용하는 옵션, w 옵션과는 달리 이미 파일이 존재하면 그 파일의 끝에 커서가 존재하고, 그 뒤에 이어쓰기가 가능하다.
즉, 파일 내용을 잘라내지 않고 이어서 쓸 수 있다.
- 'x' : 파일이 없으면 파일을 생성하고 쓰기모드로 열립니다. 만약 파일이 있으면 에러를 발생시킨다.


- 'b' : 바이너리 모드
- 't' : 텍스트 모드 (기본값)

두번째 인자는 'r', 'w', 'a', 'x' 와 같이 't'나 'b'를 따로 쓰지 않으면 기본적으로 텍스트 모드인 't'로 열리게 된다. 즉, 읽기위해 'r'을 넣는다는것은 'rt'를 넣는것과 동일한 뜻이다.
만약 파일을 읽기모드인데 바이너리 모드로 열고싶다면 'rb' 이런식으로 집어 넣으면 된다.
따로 표기 하지않으면 기본적으로 텍스트 모드인 't'로 열린다.

오픈한 파일을 닫으려면 파일 닫기 함수인 close()함수를 이용해야한다.

 

 

 

파일 쓰기

write() 함수를 이용한 파일에 문자열 쓰기

IO.write("문자열")

write 함수는 매개변수로 파일에 넣을 문자열을 받습니다.

 

# 파일 w 모드로 열기 (파일 새로 만듦)
f = open('C:/Test/t2.txt', 'w')
 
# write 함수를 이용해서 파일에 텍스트 쓰기
f.write('write write write\n')
f.write('파이썬 파일 입출력 포스팅\n')
 
# 파일 닫기
f.close()

f = open('파일경로/파일이름', 'w')
- 해당 코드를 실행하면 t2.txt 파일이 생성된다. w모드로 열었기 때문에 파일이 있으면 덮어씌워지고 내용은 지워진다. 파일이 없으면 파일이 생성된다.

f.write('')
- 파일을 열고 파일스트림을 이용해서 write 함수를 호출한다.
내용을 보면 개행문자(\n)을 직접 입력해준걸 볼 수 있다. 이렇게 개행이나 탭 등은 우리가 직접 입력을 해주어야한다.

f.close()
- 파일을 열었으면 꼭 닫아야 한다. 오픈한 파일을 닫지 않는다면 데이터가 날아갈 수 있다.

 

파일 읽기
IO.read(n)

read(n) 함수는 파일 스트림으로 부터 해당 위치의 문자 n개를 읽어오는 함수이다. n바이트를 읽어오는 것. read() 이렇게 아무것도 넣지 않으면 모든 문자를 읽어오게 된다.
반환 : 문자N개를 반환한다.

 

with ~ as문을 이용하면 파일 닫기(close)를 생략할 수 있다

 

 

writelines()

writelines()는 리스트(List) 또는 튜플 데이터를 파일에 쓰기 위한 함수이다.

lines = ['안녕하세요.\n', '파이썬\n', '코딩 도장입니다.\n']
 
with open('hello.txt', 'w') as file:    # hello.txt 파일을 쓰기 모드(w)로 열기
    file.writelines(lines)

 

 

readlines()

파일의 모든 데이터를 읽어서 리스트 형태로 반환한다.

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

 

readline()

한 행을 읽어서 문자열로 반환 한다.

# readline_test.py
f = open("C:/doit/새파일.txt", 'r')
line = f.readline()
print(line)
f.close()

'프로그래밍 언어 > Python' 카테고리의 다른 글

소인수, 소인수분해(파이썬 출력)  (0) 2023.01.14
약수, 소수(파이썬 출력)  (0) 2023.01.13
Exception  (0) 2023.01.09
try ~ except ~ else, finally  (0) 2023.01.09
예외, 예외처리  (0) 2023.01.09
Comments