일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- go
- 사용자 계정 관리
- dockerfile
- 3티어 아키텍처
- 애저
- git hub
- 리눅스
- maven
- AWS
- python
- aws사용자모임
- Azure
- nexus
- 함수
- 클라우드
- AI
- 명령어
- 변수
- jenkins
- awskrug
- 파이썬
- 프로세스 관리
- GIT
- 표준 라이브러리
- open ai
- docker
- Linux
- AI챗봇
- terraform
- it기사
- Today
- Total
We are Architect
15. 점프 투 파이썬 (파일 읽기, 쓰기) 본문
* 파일 생성
- 앞서 내용에서는 결괏값만 출력을 하였는데 이번에는 결괏값을 파일로 출력하는 법을 알아보겠다.
- 아래에서 open함수를 사용하여 파일을 생성 및 열기를 하였다.
- open함수는 존재하는 디렉터리에서만 파일생성이 가능하다.
- 그 다음 close함수를 사용하여 파일을 닫기를 하였다. 해당 함수를 사용하지 않으면 오류가 발생한다.
파일 객체 = open(파일_이름, 파일_열기_모드)
파일 열기 모드 | 설명 |
r | 읽기 모드: 파일 읽기 |
w | 쓰기 모드: 파일 내용 쓰기 |
a | 추가 모드: 파일 마지막에 내용추가 |
* 파일 쓰기 모드로 열어 내용 쓰기
- 어떤 대상 파일에 파일 쓰기 모드를 열어서 내용을 적을 수도 있다.
- write함수를 써서 f(새로운 파일)안에 data의 출력값을 넣어서 내용을 쓸 수 있다.
* readline 함수
- 파일의 첫 번째 줄을 읽어주는 함수이다.
* readlines 함수
- readlines 함수를 사용하는 것은 파일의 모든 줄을 읽어서 각 줄의 요소로 가지는 리스트를 리턴.
- readline보다 s 가 하나 더 붙는다.
- 줄 바꿈 문자 제거시에는 strip함수를 사용하며 된다.
f = open("새로운 파일.txt", 'r')
a = a.readlines()
for line in a:
line = line.strip()
print(line)
f.close()
* read 함수 사용하기
- read함수를 파일의 내용 전체를 문자열로 리턴한다.
f = open("새로운 파일.txt", 'r')
data = f.read()
print(line)
f.close()
* for문을 사용한 읽기
- for문을 사용하여 파일을 줄 단위로 읽기도 가능.
f = open("새로운 파일.txt", 'r')
for line in f:
print(line)
f.close()
* 파일에 새로운 내용 추가
- open 함수에 파일_열기_모드 부분을 a로 바꾸면 된다.
- 쓰기 모드(w)로 열 때는 이미 존재 하는 파일을 열면 안에 내용이 사라지지만 a로 열 때는 유지되면서 내용 추가도 가능하다.
* with 문
- 항상 close함수를 사용하여 파일 닫기란 불편하다. open함수 또한 파일을 열 때 마다 사용하는 것도 불편하다.
- 이럴때 사용하는 것이 with문이다. 왜냐하면 자동으로 열고 닫기를 할 수 있기 때문이다.
//기존 코드
f = open("새로운 파일.txt", 'w')
f.write("Life is so good")
f.close()
// 수정된 코드
with open("새로운 파일.txt", 'w') as f:
f.write("Life is so good")
'Programing > Python' 카테고리의 다른 글
17. 점프 투 파이썬 (클래스) (0) | 2024.11.13 |
---|---|
16. 점프 투 파이썬 (프로그램 입출력) (0) | 2024.11.12 |
14. 점프 투 파이썬 (사용자 입출력) (0) | 2024.11.11 |
13. 점프 투 파이썬 (함수) (2) | 2024.11.11 |
12. 점프 투 파이썬 (for문) (0) | 2024.11.08 |