프로그램 제작시 저장해 두어야 하거나 기록해 두어야 하는 데이터의 경우는 결과값의 출력을 파일로 하는 것이 필요합니다.

예를 들어 주문이나 이벤트등을 기록해 둠으로써 프로그램이 장중에 의도한 대로 동작을 했는지를 확인해 볼 수 있고, 또한 필요에 의해 가공된 주가데이터나 분할매수/매도의 현재상태등은 파일로 기록해 두었다가 프로그램 재동작시 읽어서 사용하는 것이 편리할 때가 많기 때문에 파일 읽고 쓰기는 배워두면 유용하게 사용할 수 있습니다.

 

우선 파일을 읽기 위해서는 아래와 같은 형식으로 Open을 해야 한다. 여기서 모드는 읽기, 쓰기, 추가모드가 있습니다.

   f = open('파일명', '모드')

모드 :

  r - 읽기 모드 : 파일을 읽기만 할 때 사용

  w - 쓰기 모드 : 파일에 내용을 쓸 때 사용

  a - 추가 모드 : 파일에 내용을 추가할 때 사용

 

파일을 쓰기 모드로 열게 되면 해당 파일이 없는 경우는 새로운 파일이 생성되고, 해당 파일이 이미 존재할 경우 원래 있던 내용이 모두 사라지고 새로운 파일이 생성되니 주의해야 합니다.

 

파일의 내용을 읽는 방법은 file의 전체를 읽어들이는 방법이 있고, 한줄씩 읽어들이는 방법이 있습니다.

파일전체를 읽는 방법

f = open('파일명', 'r')

data = f.read() #파일의 전체를 읽는다.

print(data)

f.close()

한줄씩 읽는 방법

f = open('파일명', 'r')

line = f.readline() #한줄씩 읽는다.

while line:

print(line, end='')

line = f.readline()

f.close()

 

line = f.readline()은 file의 한 줄을 읽는 것이기 때문에 file의 끝줄까지 읽기 위해서는 for문이나 while문을 사용해서 읽어주면 됩니다.

그리고, file은 사용이 완료되었으면 반드시 close를 해 줘야 합니다.

  

다음으로 배워볼 것은 f.readlines()와 f.writelines()인데요 이 함수는 file을 한줄씩 리스트 형식으로 읽어들이거나 리스트를 파일로 쓰는 것입니다. 

- f.readlines() : 한줄씩 리스트로 읽어들인다.

f = open(‘파일명’, r) #file을 열고

lines = f.readlines() # file을 한줄마다 리스트형식으로 읽는다..

for line in lines:

      print(line) # 한줄씩 출력

print(lines) # 한줄씩 가지고 있는 리스트 출력

f.close() #닫는다.

 

- f.write() : 한줄씩 파일을 쓴다.

text = input (“파일에 저장할 내용을 입력해 주세요”)

f= open(‘파일명’, w)

f.write(text)

f.close()

 

- f.writelines() : 리스트형식을 파일에 쓴다.

lines = []

while True:

  text = input (“파일에 저장할 내용을 입력해 주세요”)

  if text == “” : #마지막에 Enter를 누를때

        break

  lines.append(text+\n) # \n Enter 효과

f =  open(‘파일명’, w)

f.writelines(lines) #lines리스트를 파일에 쓴다.

f.close()

 

'주식자동매매' 카테고리의 다른 글

파이썬기초 - 시간 다루기  (0) 2019.03.05
파이썬기초 - CSV 파일 읽고 쓰기  (0) 2019.03.05
파이썬기초 - 클래스  (0) 2019.03.03
파이썬 기초 - for문  (0) 2019.03.02
파이썬 기초 - If문  (0) 2019.02.28

+ Recent posts