파이썬에서 데이터베이스없이 자료를 수정할수 있는지 궁금합니다.


예로 a=[1,2,3] 리스트를 만들고 프로그램을 실행하면 실행하는 동안 a리스트는 저장 수정 변경 삭제 등 모든것이 가능하지만 프로그램을 종료하고 다시 켜는순간 a리스트는 [1,2,3]이 되는데...

데이터베이스 사용없이 파이썬에서 값을 저장 수정 변경등 을하고 유지하는 방법이 있을까요?? 배포되는 프로그램중 실행파일 하나인데 작업내용이 저장되고 유지되는걸 보면 어떻게 만들었는지 궁금합니다...


조회수 45


3 답변


파일로 저장하면 되지 않을까요?

  • 2018년 01월 13일에 작성됨


이미 별도의 설치없이 사용할 수 있는 공간들이 있습니다.

윈도우 같은 경우는 레지스트리가 대표적으로 '키=밸류' 형태의 데이터베이스입니다.

그리고 파이썬 같은 경우는 기본적으로 sqlite 를 사용할 수 있고 pickle 모듈을 사용하여 외부 파일에 객체를 저장해두었다가 프로그램 로딩때 다시 읽어드릴 수도 있습니다.

  • 2018년 01월 13일에 작성됨


DB라는 것은 추상적인 개념입니다.

SQL 같은, 범사용을 목적으로 두고 만들어지는 DB들도 있지만. 때로는 프로그래머의 필요에 따라서, 해당 프로그램에만 최적화된 DB 프로그램이 있을 수도 있습니다.

아마, 질문자께서 바라시는 것은. 후자의 것을 바라시는 것 같습니다.

우리가 직관적으로 생각했을 때에, Data를 저장하는 가장 간단한 방법은 어디에 메모를 해놓는 것입니다. 컴퓨터도 마찬가지입니다. 필요에 따른 파일 서식을 만들고, 그러한 서식에 맞춰서 데이터를 저장하는 것 입니다.

이러한 DB를 만드는 것에는, 문자열 분석과 같은 전문적인 테크닉이 많이 필요로 합니다만.. JSON이라는 녀석이 Python에는 잘 갖춰져 있기 때문에. JSON 형식으로 데이터를 저장하고, JSON 형식으로 데이터를 불러오시면 복잡한 문자열 분석 테크닉 필요 없이 그냥. 파일 하나만으로(JSON파일) 해당 프로그램에 필요한 모든 DATA를 다루실 수 있으실 겁니다.

http://stackabuse.com/reading-and-writing-json-to-a-file-in-python/ json으로 Data를 Writing and Reading 하는 방법에 대해서 아주 친절하게 설명이 되어있네요. 참고하시면 좋으실 것 같아요.

  • 2018년 01월 14일에 작성됨
    인공생명(Aritificial Life)와 인공지능에 관심이 많은 학생입니다. 주로 Python을 애용 합니다.

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close