2013-06-05 6 views
0

SQLite는에 SQLite는 데이터,이 코드Python with SQLite. 파이썬에서 변수

cur.execute("SELECT * FROM Player") 
while True: 

    row = cur.fetchone() 
    print(row) 
    print("why {0}".format(cur.fetchone())) 

    if row == None: 
     break 

을 가지고 내가 이러한 출력이 파이썬, 화면에 3.2.4

그것을 인쇄 : 데이터베이스의 로드

(1, 'Damian', 1, 15, 18, 100, 100) 
    why None 
    None 
    why None 

(((1, 'Damian', 1, 15, 18, 100, 100))) < - 내 데이터베이스에 있습니다. 왜 다른 인쇄물에서 인쇄하려고하면 나던가 작동합니까? 다음과 같이 인쇄하십시오 : print (row [0]) 오류 = 인쇄처럼 (행 [0]) 형식 오류 : 'NoneType'객체를 사용하면 루프 내부 fetchone() 두 번 호출되는

+0

'row'는 두 번째 루프에서'None'이므로 첫 번째 요소가 없습니다. – Blender

답변

0

귀하의 문제가 첨자에 있지 않습니다. 행에 해당하는 while 루프에 대한 마법은 없습니다. 대신 다음 결과 행으로 진행하는 fetchone()에 대한 호출의 부작용입니다.

첫 번째 print은 첫 번째 행을 출력합니다. 두 번째 행 ("why")은 두 번째 행을 인쇄합니다 (존재하는 경우).