티스토리 뷰
▶컴퓨터 등의 정보 기기에서 정보를 담아 놓은 논리적인 단위
→파일에 저장되는 정보에 따라서 다음과 같이 분류
▷텍스트 파일 : Ascii 코드나 유니코드로 저장
▷바이너리 파일 : 2진 데이터로 저장
▶파일은 저장하는 정보나 성격에 따라서 여러가지의 특징을가지게 된다.
EX) jpg, png, exe, com, dll …
→운영체제에서는 저장 매체에서 File 을 관리하기 위한 파일시스템을 가지고 있다.
EX) FAT, FAT32 , NTFS, EXT2, EXT3 …
1. 파일 생성하기
파일 객체 = open(파일 이름, 파일 열기 모드)
▶파일열기 모드
→ 파일을 쓰기 모드로 열면 해당 파일이 이미 존재 할 경우 원래 있던 내용이 모두 사라짐
→ 파일이 존재하지 않으면 새로운 파일 생성
1-1. 파일에 내용쓰기
W Mode
→ 파일을 열어서 내용을 추가하기 위해서는 write 함수를 사용
test.txt. 생성
File 처리실습
구구단의 2단을 저장하는 파일을 만드시오
1-2. 파일에 내용추가
a Mode
1-3. 파일 읽기
▶readline()
f=open("input.txt",'r')
while True :
txt = f.readline()
if not txt :
break
print(txt)
f.close()
>>>
======== RESTART: C:/Users/Administrator/Downloads/python/eaxm3.28.py ========
Enter the Text:Test message 4
====================
Read File
Test. message 1
Test message 3
Test message 4
>>>
▶readlines()
→ FIle 의 내용 전체를 한꺼번에 읽기 위해서 사용
f= open("./test.txt", 'r')
txt = f.readlines()
for i in txt:
print(i)
f.close()
▶read()
→내용을 읽기위해서 사용
f= open("./test.txt", 'r')
txt = f.read()
print(txt)
f.close()
→ 읽는 데이터의 개수를 지정할 수 있음
f= open("./test.txt", 'r')
txt = f.read(25)
print(txt)
f.close()
→ 바이너리 형식 파일을 읽을 수있음
==> tell() 함수로 현재 읽혀지는 위치 알 수 있음
print("Current Pointer:", f.tell())
txt = f.read(25)
print("Current Pointer:", f.tell())
print(txt)
f.close()
----다른 실습
f=open("test.txt",'r')
print("Current Pointer:",f.tell())
txt = f.read(10)
print(txt)
print("Current Pointer:",f.tell())
txt = f.read(10)
print(txt)
print("Current Pointer:",f.tell())
txt = f.read(10)
print(txt)
f.close()
======== RESTART: C:\Users\Administrator\Downloads\python\eaxm3.28.py ========
Current Pointer: 0
2x1=2
2x2=
Current Pointer: 11
4
2x3=6
2x
Current Pointer: 23
4=8
2x5=10
>>>
▶seek()
→ 파일의 읽는 위치를 변경하기 위해 사용
f= open("./test.txt", 'r')
print("Current Pointer:", f.tell())
txt = f.read(20)
print("Current Pointer:", f.tell())
print(txt)
f.seek(0)
print("Current Pointer:", f.tell())
f.close()
2. With 구문
→ 파일을 open 하는 경우 마지막에는 close 를 해야함
→ With 구문 사용 하면 close 를 자동 처리
with open("./test.txt", 'r') as f:
txt = f.read()
print(txt)
------------실습
메모장
실행하면
MENU:
a: 메모 추가
b: 메모 내용 출력
q: 프로그램 종료
를 나타내는 프로그램을 만들어라
print("Memo Program v0.1")
while True:
a = input("Menu(h:HELP):")
if a=='a':
txt=input("Enter the Text :")
f=open("메모장.txt",'w')
f.write(txt)
f.write("\n")
f.close()
if a=='r':
f=open("메모장.txt",'w')
txt=f.readlines()
for i in txt :
print(i)
if a=='q':
break;
if a=="h":
print("a=메모추가")
print("r=메모 내용 출력")
print("h= 도움말")
print("q=종료 ")
3. open 된 파일이 가지는 속성
with open("test.txt", "wb") as fo:
print("Name of the file: ", fo.name)
print("Closed or not : ", fo.closed)
print("Opening mode : ", fo.mode)
참고
수업내용 ppt
점프투파이썬
'Programing > Python' 카테고리의 다른 글
Python - 15. 내장함수 (0) | 2017.04.04 |
---|---|
Python - 14. 예외처리 (0) | 2017.03.30 |
Python - 12. Module.Package (0) | 2017.03.30 |
Python - 11. class 활용 (0) | 2017.03.28 |
Python - 10. class 기초 (0) | 2017.03.27 |