보안교과서
[sesac 성동캠퍼스 1기] 11/02 인프라 활용을 위한 파이썬프로그래밍 교육 4일차 본문
1. 파일 읽기 와 쓰기
파일을 열 때는 open() 함수에서 파일명을 지정하고, 읽기(read)를 의미하는 "r"로 설정함
나중에 쓰기는 write의 w를 사용한다.
모드(mode) : open() 함수의 마지막 매겨변수
변수명 = OPEN("파일경로/파일이름", "r")
파일 닫기
변수명.close();
파일에 담아둔 데이터를 읽기 위한 함수
readline() 한 줄 읽기(?) 파일의 내용을 한 행씩 읽어옴
readlines() 여러 줄 읽기
인코딩 디코딩
encoding = utf-8
inFile = None # 입력 파일
inStr = "" # 읽어온 문자열
inFile = open("C:/FirstPython/Chapter09/myData1.txt", "r",
encoding="UTF-8")
inStr = inFile.readline()
print(inStr, end='')
inStr = inFile.readline()
print(inStr, end='')
inStr = inFile.readline()
print(inStr, end='')
inFile.close()
end=' ' : 줄바꿈 하지말라고 나와있는데 줄바꿈이 적용된 이유
(?)
왜 같은 문장으로 할 자동적으로 첫번째 문장 2번째 3번째로 이동하는 것일까?
inFile = None
inStr = "“
inFile = open("C:/FirstPython/Chapter09/myData1.txt", "r",
encoding="UTF-8")
while True :
inStr = inFile.readline()
if inStr == "" :
break
print(inStr, end='')
inFile.close()
4문장과 5문장을 구분해야 작동한다. 이유는 뭘까
위의 코드와의 단점은 위는 3번 입력한 만큼만 나오고 이 코드는 문장끝까지 읽어준다 .
while True 반복문으로
inStr = inFile.readline()
instr == "" : 아무것도 없을 때 문장이 인식하지 못할 때
break를 걸라
그러면 readlines() 는 어떨까 편할 것 같은데
파일의 내용을 한 꺼번에 읽어서 리스트에 저장한다고 한다.
그래서 readline()와 다르게 inList = []를 사용한다. instr = "" 대신에
inFile = None
inList = []
inFile = open("C:/FirstPython/Chapter09/myData1.txt", "r",
encoding="UTF-8")
inList = inFile.readlines()
print(inList)
inFile.close()
읽어서 작업해야 할 떄는 이것을 추천한다.
밑에는 print() 함수를 수정해서 파일의 내영이 한 행씩 출력하게 햏준
inFile = None
inList = []
inFile = open("C:\FirstPython/Chapter09/myData1.txt", "r",
encoding= "UTF-8")
inList = inFile.readlines()
for inStr in inList :
print(inList, end = "")
inFile.close()
파일을 여는 방법
파일을 쓰기 위해서도 open() 함수에서 파일명을 지정하고
변수명 = open("파일경로/파일이름", "r")
글자 암호화
ord(문자) : 문자의 고유 숫자를 알려줌
chr(숫자) : 숫자의 고유 문자를 알려준다
모드 | 설명 |
R | 읽기모드 -file을 읽기 모드로 오픈 |
W | 쓰기모드- file을 쓰기 모드로 오픈 |
T | 텍스트모드 - file을 text mode로 open (default값임) |
B | 바이너리 모드 - file을 binary 모드로 오픈 |
X | 확인 모드 - 파일이 생성시 존재 여부 확인 모드로 오픈 |
A | 추가모드 - 파일의 마지막에 새로운 내용을 추가하는 모드로 open |
Chapter 10
객체지향 프로그래밍
클래스 (class)
객체 (objective)
실체 (instance)
class 클래스 이름 :
# 클래스 생성 코드 구현
class Rabbit :
#토끼 속성(변수)
모양 = ""
x위치 = 0
y위치 = 0
토끼의 행동 (메소드)
def goto(이동할 좌표) :
#토끼를 이동할 좌표로 이동시키는 코드
# 코드 10-1
class Rabbit :
shape = "" # 토끼 모양
xpos = 0
ypos = 0
def goto(self,x ,y)
self.xpos = x
self.ypos = y
#토끼 객체 생성
rabbit1 = Rabbit()
rabbit2 = Rabbit()
rabbit3 = Rabbit()
rabbit1.shape = "원"
rabbit2.shape = "삼각형"
rabbit3.shape = "토끼"
split() , join () 함수 내용 추가하기
'SK쉴더스' 카테고리의 다른 글
[SeSAC 성동캠퍼스] 리눅스 프로그래밍 (0) | 2023.11.07 |
---|---|
파이썬 프로그래밍 (0) | 2023.11.06 |
[sesac 성동캠퍼스 1기] 11/01 인프라 활용을 위한 파이썬프로그래밍 교육 3일차 (0) | 2023.11.01 |
[sesac 성동캠퍼스 1기] 10/30 인프라 활용을 위한 파이썬프로그래밍 교육 1일차(2) (0) | 2023.11.01 |
[sesac 성동캠퍼스 1기] 10/31 인프라 활용을 위한 파이썬프로그래밍 교육 2일차(1) (0) | 2023.10.31 |