mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 18:28:49 +00:00 
			
		
		
		
	 287b84de93
			
		
	
	
		287b84de93
		
	
	
	
	
		
			
			The sqlit3.Connection object doesn't call its close() method when it's used as a context manager.
		
			
				
	
	
		
			28 lines
		
	
	
	
		
			731 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			731 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import sqlite3
 | |
| 
 | |
| FIELD_MAX_WIDTH = 20
 | |
| TABLE_NAME = 'people'
 | |
| SELECT = 'select * from %s order by age, name_last' % TABLE_NAME
 | |
| 
 | |
| con = sqlite3.connect("mydb")
 | |
| 
 | |
| cur = con.cursor()
 | |
| cur.execute(SELECT)
 | |
| 
 | |
| # Print a header.
 | |
| for fieldDesc in cur.description:
 | |
|     print(fieldDesc[0].ljust(FIELD_MAX_WIDTH), end=' ')
 | |
| print() # Finish the header with a newline.
 | |
| print('-' * 78)
 | |
| 
 | |
| # For each row, print the value of each field left-justified within
 | |
| # the maximum possible width of that field.
 | |
| fieldIndices = range(len(cur.description))
 | |
| for row in cur:
 | |
|     for fieldIndex in fieldIndices:
 | |
|         fieldValue = str(row[fieldIndex])
 | |
|         print(fieldValue.ljust(FIELD_MAX_WIDTH), end=' ')
 | |
| 
 | |
|     print() # Finish the row with a newline.
 | |
| 
 | |
| con.close()
 |