형식
f = open('파일명' 또는 '파일경로', mode = '파일 열기 모드')
f.close()
파일 열기 모드 | 기능 |
---|---|
r | Read, 파일을 읽기 전용으로 연다 |
w | Write, 파일을 새로 쓴다 (즉, 덮어쓴다) 만약 파일이 존재하지 않으면 새로운 파일을 생성한다 |
a | Append, 파일에 내용을 추가한다 |
x | Create, 파일을 생성한다 이미 파일이 존재한다면 에러를 반환한다 |
파일 열기 모드 | 기능 |
---|---|
b | Binary, 이진파일 모드 ex) 이미지 파일은 'b' 모드로 오픈해야한다 |
t | Text, 기본 디폴트 모드 |
형식
f.write('문자열')
f.writelines['list_01', 'list_02', 'list_03',,,,]
f.writelines('tuple_01', 'tuple_02', 'tuple_03',,,,)
.write
를 통해 파일에 내용을 쓰는 것이 가능하다..writelines
를 통해 튜플이나 리스트 자료형을 사용하여 여러 줄을 쓸 수도 있다.형식
f.read()
f.writelines()
read()
를 통해 파일 읽기가 가능하다.read()
, readlines()
의 괄호()
안에 숫자를 적어주면 그 바이트 수만큼 파일을 읽어온다.with open() as
f.close()
를 통해 파일을 닫아주어야 한다.with open() as
를 사용하면 열린 파일 객체가 자동으로 닫아진다.형식
with open('파일명' 또는 '파일경로', '파일 열기 모드') as f
# 파일을 생성해서 데이터를 쓰고 읽어보자.
def file_Test():
f = open('a.txt','w') #파일 생성, 쓰기모드
for i in range(65,91):
f.write('%3s'%chr(i))
f.close()
f= open('a.txt','r')
print(f.read(10)) # 괄호 안에는 바이트단위
f.close()
print('============================================')
f = open('사과사진.jpg', 'r+b') # 이미지는 그냥 r만 쓰면 못읽어와서 +binary해줘야 한다
print(f.read())
f.close()
if __name__ == '__main__':
file_Test()
출력결과
A B C
============================================
b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xfe\x00;CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), quality = 82\n\xff\xdb\x00C\x00\x06\x04\x04\x05\x04\x04\x06\x05\x05\x05\x06\x06\x06\x07\t\x0e\t\t\x08\x08\t\x12\r\r\n\x0e\x15\x12\x16\x16\x15\x12\x14\x14\x17\x1a!\x1c\x17\x18\x1f\x19\x14\x14\x1d\'\x1d\x1f"#%%%\x16\x1c),...생략'
실행전 | 실행후 |
---|---|
![]() | ![]() |
실행 후 a.txt 파일 생성됨 |
print(f.read(10))
에서 10바이트를 읽어왔으므로, 출력결과는 '빈칸2개' 'A' '빈칸2개' 'B' '빈칸2개' 'C' '빈칸' 이 출력된 것이다.# 사과사진.jpg의 내용을 읽어서 apple02.png로 출력해보자.
def file_Test01():
f = open('사과사진.jpg', 'r+b')
f_o = open('apple02.png', 'w+b')
f_o.write(f.read())
f_o.close()
f.close()
# 구구단을 출력하고 읽어오자. 편의상 2단만 하자.
def file_Test02():
with open('gugu.txt', 'w') as f:
for i in range(1,10):
f.write('%3d * %3d = %3d\n'%(2,i,(2*i)))
with open('gugu.txt', 'r') as f:
print(f.read())
if __name__ == '__main__':
file_Test01()
file_Test02()
출력결과
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
실행전 | 실행후 |
---|---|
![]() | ![]() |
실행 후 apple02.png, gugu.txt 파일 생성됨 |
with open() as
를 활용하여 자동 파일 닫기를 구현했다.