1. 파일 생성
2. 파일에 쓰기
3. 파일 읽기
4. 파일에 내용 추가하기
5. 파일 자동 닫기 (with ~ as ~)
1. 파일 생성
파일을 생성하는 명령문 구조는 아래와 같다.
파일 객체 = open(파일 이름, 파일 열기 모드)
파일열기모드 | 설명 |
r | 읽기모드 - 파일을 읽기만 할 때 사용 |
w | 쓰기모드 - 파일에 내용을 쓸 때 사용 |
a | 추가모드 - 파일의 마지막에 새로운 내용을 추가 시킬 때 사용 |
b | 바이너리 모드로 파일 열기, r w a 와 함께 사용 |
f = open("C:/Lee/테스트파일.txt", 'w')
f.close()
파일을 쓰기 모드( w ) 로 열면
해당 파일이 이미 존재할 경우 원래 있던 내용이 모두 사라지고,
해당 파일이 존재하지 않으면 새로운 파일이 생성된다,
디렉토리 설정은 파일의 이름 앞에 위의 예제(C:/Lee/) 처럼 쓰면 된다.
.close()는 열려 있는 파일 객체를 닫아 주는 역할.
2. 파일에 쓰기
1. 모니터 화면에 출력
for i in range(1, 10):
a = "%d번째 입니다.\n" % i
print(a)
2. 1의 내용을 파일에 쓰기
newfile = open("C:/Lee/테스트파일.txt", 'w')
for i in range(1, 10):
a = "%d번째 입니다.\n" % i
newfile.write(a) # 반복문의 결과 값을 파일에 쓴다.
newfile.close()
2.
w로 쓰기로 파일을 열면 일단 파일이 생성 된다.
그 후 for문을 실행 시켜 나온 데이터 값들을
. write()를 이용해서 반복적으로 파일에 쓴다. (newfile이라는 변수에 담는다.)
참고로 write() 의 경우, string 자료형만을 받아서 쓴다.
그리고 close()
3. 파일 읽기
readline()
첫번째 줄부터 한 줄씩 읽어 들이는 함수. 반복문이 없다면 한 줄만 읽어온다.
더 이상 읽을 줄이 없을 경우 빈 문자열(' ')을 리턴.
( ) 안의 숫자만큼 해당 줄의 글자(공백 포함)를 읽어온다.
newfile = open("C:/Lee/테스트파일.txt", 'r')
while True:
line = newfile.readline()
if not line: break
print(line)
newfile.close()
더 이상 읽을 줄이 없으면 break를 수행한다.
한 줄 씩 출력할 때 줄 끝에 ' \n ' 문자가 있으므로 빈 줄도 같이 출력된다.
따라서 if not이 없으면 빈 공백이 무한히 출력된다.
readlines()
readline()에 s가 붙은 함수이다. 혼동하지 말 것.
파일의 모든 줄을 읽어서 각각의 줄을 요소로 갖는 리스트를 반환한다.
newfile = open("C:/Lee/테스트파일.txt", 'r')
lines = newfile.readlines() # 리스트로 반환한 값을 lines에 넣는다.
for line in lines: # 리스트 요솟값을 하나하나 뽑아서 print
print(line)
newfile.close()
※참고 - 줄 바꿈(\n) 문자 제거
위의 예제에서
line = line.strip() 을 추가해주면 줄 바꿈 문자를 제거할 수 있다.
newfile = open("C:/Lee/테스트파일.txt", 'r')
lines = newfile.readlines()
for line in lines:
line = line.strip() # 줄 끝의 줄 바꿈 문자를 제거한다.
print(line)
newfile.close()
read()
파일의 내용 전체를 문자열로 반환한다.
반복문이 필요 없다.
newfile = open("C:/Lee/테스트파일.txt", 'r')
data = newfile.read()
print(data)
newfile.close()
4. 파일에 내용 추가하기
원래 있던 값을 유지하면서 단지 새로운 값만 추가할 때 사용한다.
newfile = open("C:/Lee/테스트파일.txt",'a')
for i in range(11, 20):
data = "%d번째입니다.\n" % i
newfile.write(data)
newfile.close()
5. 파일 자동 닫기 (with ~ as ~)
기존에는 close()를 이용해 일일히 파일을 닫았지만
with를 사용하면 with구문을 빠져나가는 순간 파일 객체가 자동으로 닫힌다.
1. 기존
newfile = open("테스트.txt", 'w')
newfile.write("Life is beatiful")
newfile.close()
2. with 사용
with open("foo.txt", "w") as newfile:
newfile.write("Life is beatiful")
'파이썬(Python) > 파이썬(Python) 기초' 카테고리의 다른 글
파이썬(Python) 5장 추가적인 기본 사항 - 2. 모듈 (0) | 2022.07.07 |
---|---|
파이썬(Python) 5장 추가적인 기본 사항 - 1. 클래스 (2) | 2022.07.06 |
파이썬(Python) 4장 입출력 - 2. 사용자 입출력 (0) | 2022.07.05 |
파이썬(Python) 4장 입출력 - 1. 함수 (0) | 2022.07.04 |
파이썬(Python) 3장 제어문 - 3. for문 (0) | 2022.07.04 |
댓글