일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- github
- html
- Class
- for
- XML
- Algorithm
- computer
- php
- DS
- control
- CSS
- web
- Java
- python
- MacOS
- DoM
- javascript
- data structure
- mysql
- MIPS
- DATAPATH
- DB
- while
- Pipelining
- react
- architecture
- Linux
- instruction
- system
- function
- Today
- Total
YYYEJI
[Python] 파일 다루기 본문
파일 다루기(File handling)를 해보겠습니다.
파일 열기
읽기 형식으로 파일 열기
file = open("f.txt", "rt")
쓰기 형식으로 파일 열기
file = open("f.txt", "wt")
r - read (파일의 내용을 읽을 때 사용)
w - write (파일에 내용을 쓸 때 사용)
a - append (파일에 내용을 덧붙일 때 사용)
x - create (파일 생성, 원래 존재하면 에러 메세지 return)
t - text
b - binary
파일 쓰기
파일에 글을 쓸 때는 "wt"로 파일을 열어야하고 아래와 같이 파일에 작성할 수 있습니다.
file.write("Hi there~\n")
file.write("Welcome to My Blog")
↑↑↑ 한 줄씩 쓰기 ↑↑↑
f = ["Hi there~\n", "Welcome to My Blog"]
file.writelines(f)
↑↑↑ 리스트로 한 번에 쓰기 ↑↑↑
f = ("Hi there~\n", "Welcome to My Blog")
file.writelines(f)
↑↑↑ 튜플에 한 번에 쓰기 ↑↑↑
파일 읽기
파일에 글을 읽을 때는 "rt"로 파일을 열어야하고 아래와 같이 파일을 읽을 수 있습니다.
while True:
f = file.read()
if f == '':
break
print(f)
↑↑↑ 한 글자씩 읽는 방식 ↑↑↑
while True:
f = file.readline()
if f == '':
break
print(f)
↑↑↑ 한 줄씩 읽는 방식 ↑↑↑
마지막으로 파일을 열었으면 꼭 닫아줘야 하는데 close() 함수를 사용합니다.
file.close()
Note) with open("file.txt", "r"):
① with를 사용해서 파일을 open하게 되면 python의 file handler가 ContextManager라는 프로토콜을 사용해서 resource를 확보하고 사용한 후, 안전하게 코드를 반환하는데 도움을 줘서 file 같은 resource 를 사용할 때 좋습니다.
② with를 사용하게 되면 파일 전체를 읽는 것이 아니라 코드 한 줄을 반환하고 그 줄에 대한 수행이 끝나면 그 줄을 메모리에서 삭제를 하게 됩니다. 그렇기에 메모리에 부담이 줄어들게 되는 것입니다.
③ block 을 빠져나올 때는 file 이 자동으로 close 되기 때문에 우리는 편하고 안전하다고 느낄 수 있게 됩니다.
with open("file.txt", "r") as fin:
data = fin.read()
◡̈
'Python' 카테고리의 다른 글
[Python] Tkinter (0) | 2022.11.21 |
---|---|
[Python] 예외처리 (0) | 2022.11.19 |
[MacOS] Conda : command not found Error (0) | 2022.11.09 |
[Python] 문자열 형식화 (0) | 2022.11.04 |
[Python] Conda에서 package 설치하기 (0) | 2022.11.04 |