반응형
3. 파일 읽고 쓰기
■ 파일 생성
# 파일 객체 = open(파일 이름, 파일 열기 모드)
f = open("새파일.txt", 'w')
f.close()
- 파일 열기 모드
• r: 읽기모드
• w: 쓰기모드, 기존 파일이 없어지고 새로운 파일이 생성된다.
• a: 추가모드 (append), 파일의 마지막에 새로운 내용 추가시 사용
- f.close(): 열려있는 파일 객체를 닫아준다.
• python은 기본적으로 프로그램 종료시 열려있는 파일 객체를 자동으로 닫아준다.
• 파일 객체를 닫지않고 재사용하려 하면 오류가 발생하므로 닫아주는 것이 좋다.
■ 파일 쓰기모드
# writedata.py
f = open("C:/doit/새파일.txt", 'w')
for i in range(1, 11):
data = "%d번째 줄입니다.\n" % i
f.write(data)
f.close()
'''
1번째 줄입니다.
2번째 줄입니다.
3번째 줄입니다.
3번째 줄입니다.
4번째 줄입니다.
5번째 줄입니다.
6번째 줄입니다.
7번째 줄입니다.
8번째 줄입니다.
9번째 줄입니다.
10번째 줄입니다.
'''
- 파일객체.write(...) 함수를 이용해서 파일 내용 작성
■ 프로그램 외부의 파일 읽기
- readline()
• 한 줄을 읽어온다.
• 더 이상 읽어올 내용이 없는 경우 빈 문자열 ('')을 반환한다.
f = open("C:/doit/새파일.txt", 'r')
line = f.readline()
print(line) # 1번쨰 줄입니다.
f.close()
- readlines()
• 파일의 모든 줄을 읽어와서 리스트 형식으로 반환한다.
f = open("C:/doit/새파일.txt", 'r')
lines = f.readlines()
for line in lines:
print(line)
'''
1번째 줄입니다.
2번째 줄입니다.
...
10번째 줄입니다.
'''
f.close()
- read()
• 파일의 내용 전체를 문자열로 돌려준다.
f = open("C:/doit/새파일.txt", 'r')
data = f.read()
print(data)
'''
1번째 줄입니다.
2번째 줄입니다.
...
10번째 줄입니다.
'''
f.close()
■ 파일에 새로운 내용 추가하기
- w모드를 사용하는 경우 기존의 내용을 잃어버린다.
- 기존의 내용에 새로운 내용을 추가하는 경우 a모드를 사용한다.
f = open("C:/doit/새파일.txt",'a')
for i in range(11, 20):
data = "%d번째 줄입니다.\n" % i
f.write(data)
f.close()
'''
1번째 줄입니다.
2번째 줄입니다.
...
10번째 줄입니다.
11번째 줄입니다.
...
19번째 줄입니다.
'''
■ with문 사용
- with문 사용하여 파일 객체 오픈시, with문을 벗어나는 순간 자동으로 파일 객체가 close 된다.
with open("foo.txt", "w") as f:
f.write("Life is too short, you need python")
※ sys 모듈로 매개변수 주기
- sys 모듈을 사용하여서 명령어의 매개변수를 사용하도록 설정
- 명령 프롬프트 명령어 [인수1 인수2 ...]
#sys1.py
import sys
args = sys.argv[1:]
for i in args:
print(i)
'''
[실행]
python3 sys1.py aaa bbb ccc
[출력]
aaa
bbb
ccc
'''
반응형
'프로그래밍언어 > Python' 카테고리의 다른 글
ch05. 파이썬 날개달기 (모듈) (0) | 2021.02.28 |
---|---|
ch05. 파이썬 날개달기 (클래스) (0) | 2021.02.22 |
ch04. 파이썬 프로그래밍 프로그램 입출력 (사용자 입출력) (0) | 2021.02.20 |
ch04. 파이썬 프로그래밍 프로그램 입출력 (함수) (0) | 2021.02.20 |
ch03. 파이썬 프로그래밍 제어문 (while, for) (0) | 2021.02.20 |