파일 Read and Write
파일 모드 | 설명 |
r | 읽기 모드 |
w | 쓰기 모드 |
a | 새로운 내용 추가 모드 |
주의 사항
1. 파일은 사용 용도에 따라 파일 모드를 지정해야 한다.
2. 열었던 파일은 반드시 닫아야 한다. (with 구문 사용시 자동으로 close)
3. 내용이 있는 파일을 열면 기존의 내용은 사라진다.
4. readlines는 리스트로 반환하기 때문에 내용이 많으면 컴퓨팅 자원에 따라 속도 저하가 생긴다. read를 사용하자.
#파일 쓰기
f = open("dir/file_name.txt", 'w')
for i in range(1, 11):
data = f'{i}번째 줄입니다.'
f.write(data)
f.close() #열었으면 닫자
#파일 읽기
#한줄만 readline
f = open("dir/file_name.txt", 'r')
line = f.readline()
print(line) #1번째 줄입니다.
f.close()
#모든줄 readlines - list로 반환
f = open("dir/file_name.txt", 'r')
lines = f.readlines()
for line in lines:
print(line)
f.close()
#모든내용 read - string으로 반환
f = open("dir/file_name.txt", 'r')
data = f.read()
print(data)
f.close()
#파일 수정
f = open("dir/file_name.txt", 'a')
f.write("마지막 줄입니다.")
f.close()
#with 구문
with open("dir/file_name.txt, 'w') as f:
f.write("with를 활용하면 close하지 않아도 된다.)
프로그램 I/O.
sys 모듈 활용
- 명령 프롬프트를 사용하여 명령어 활용할 수 있게 해주는 모듈
import sys
args = sys.argv[1:] #argv의 0번째 인덱스는 파일명
for i in args:
print(i)
#명령어 프롬프트에서 다음과 같이 입력
'''
python sys1.py aa bb cc #argv[1] = 'aa', argv[2] = 'bb', argv[3] = 'cc'
결과값
aa
bb
cc
'''
#간단한 응용 예제(파일명 sys_ex.py으로 저장)
import sys
args = sys.argv[1:]
for i in args:
print(i.upper(), end=' '
#실행 구문
'''
python sys_ex.py abcd
결과값
ABCD
'''
'개인공부 > python' 카테고리의 다른 글
파이썬 내장함수 threading (0) | 2024.03.29 |
---|---|
예외처리 (1) | 2024.03.29 |
모듈과 패키지 (0) | 2024.03.28 |
클래스 (0) | 2024.03.28 |
python 기초 활용 (0) | 2024.03.27 |