2013-08-26 4 views
0

나는 'trial'을위한 작은 데이터베이스를 만들고 있습니다. 몇 가지 설정을 시도했는데 (ID : 12345), 이름 (Rob Alsod), 지역 (A4 (아파트 건물과 유사)) 또는 직업으로 호출 할 수있는 솔루션이 필요합니다 ([{key: value}, {key: value}]). 관리자, 관리자 등). 그래서 사전 (같은 사람 키를 호출 할 수 없습니다). 'Person'클래스를 만들려고했지만 클래스를 쉽게 추적 할 수있는 방법이 필요합니다. , 또한 쉽게 할당합니다. 예를 들어,Python 3.3.2 - 작은 데이터베이스를 설정하는 방법?

for whatever in whatever: 
    what = Person(name = 'Rob Alsod', id = 12345, job = 'Admin', area = 'A1') # What can I make this iterate with? (Badly formed question) 

내 요점은, 그것을 통해 루프로, 나는 또 다시 같은 일에 할당 할 수 없습니다.

누군가의 감각을 만들려고 수 내가하는 말, 그리고 내 데이터베이스를 포맷 하시겠습니까?

+1

질문이 명확하지 않습니까? 원하는 것을 추가하십시오. 왜 루프를 원하니?>? – suhailvs

+0

@suhail 루프의 포인트는 변수에 Person()을 할당하는 것입니다. 유일한 문제는 다음과 같습니다. 루프가 반복 될 때 변수가 어떻게 변할 수 있는지 전혀 알지 못합니다. –

+0

목록을 사용할 수 있습니다. 예 :'what = []'이제 loop 안에'what.append (Person (name = ......))' – suhailvs

답변

1

. 리눅스, 핍과뿐만 아니라 바람을 설치하기는 apt-get connection = db.connect(); result = connection.execute("select ID from people")

쉽게 그 후

from sqlalchemy import * 
db = create_engine('sqlite:///people.db') 

metadata = MetaData() 

user = Table('people', metadata, 
Column('ID', Integer, primary_key = True), 
Column('name', String(16), nullable = False), 
Column('area', String(16)), 
Column('job', String(60)) 
) 

: SQL 쿼리는 멀리 코드의 단지 몇 줄 수 있습니다. HTH, Phil

+0

이것은 내가 필요한 것처럼 보입니다. 코드의 각 부분을 설명해 주시겠습니까? 특히, 코드의 String (x) 부분. (미안하지만, 내 전화기에는 백틱이 없다.) –

+1

@Rob Alsod -'create_engine' 문은 SQLite에 맞는 Dialect 객체를 생성하고 실제 연결은 db.connect()로 시작됩니다. 'MetaData'는 db에 관한 정보를 유지하는 컨테이너 객체입니다. 'String'은 SQL에 해당하는 VARCHAR입니다. 자세한 내용은 doc (http://docs.sqlalchemy.org/en/rel_0_8/core/types.html#sqlalchemy.types.String)을 참조하십시오. – Phil

0

당신은 당신이 shelve 모듈을 사용할 수 있습니다 키에 의해 식별 된 객체를 저장하기위한 작은 데이터베이스를 원하는 경우 쉽게 SQLite는 함께 SQLAlchemy의를 사용할 수

http://docs.python.org/3.2/library/shelve.html

관련 문제