@DerKian: Da gibt es keine Klammern und Kommas, denn das ist keine Zeichenkette die Du da bekommst, sondern eine Datenstruktur aus Listen und Tupeln. Da musst Du halt entsprechend mit umgehen.
Wobei das auch ein bisschen komisch aussieht was Du da machst, denn `username` und `passw` sind als Namen falsch/irreführend, denn Du fragst *alle* Benutzernamen und *alle* Passwörter ab. Und das getrennt, ohne irgendwie zu sortieren. Da scheint nur ein Eintrag in der Tabelle zu sein, aber sowie da mehr drin sind, ist nicht garantiert, das die Einträge in den Listen auch tatsächlich zusammen gehören, weil die Datenbank die in beliebiger Reihenfolge liefern darf. Auch falls sie das (scheinbar) nicht tun sollte, darf man sich da nicht drauf verlassen.
Namen sollte man nicht kryptisch abkürzen. Weder im Programm noch in SQL in Tabellen oder Spaltennamen. Also `password` statt `pass` als Spaltenname und `passw` im Programm müsste `passwords` heissen. `dbcon` wäre `db_connection`.
Sowohl den Cursor als auch die Verbindung sollte man nach Gebrauch schliessen. `contextlib.closing()` und die ``with``-Anweisung, oder alternativ ``try``/``finally`` sichern das ab.
Code: Alles auswählen
#!/usr/bin/env python3
import sqlite3
from contextlib import closing
def main():
with closing(sqlite3.connect("vg.db")) as db_connection:
with closing(db_connection.cursor()) as cursor:
cursor.execute("SELECT username, password FROM login_data")
login_data = cursor.fetchall()
print(login_data)
if __name__ == "__main__":
main()
Textausgaben bitte nicht als Bild hier einfügen oder woanders hochladen, sondern als Text in den Beitrag kopieren.