Je suis ssh'd dans un serveur distant, et là j'ai créé des fichiers python comme un test: un pour créer une base de données, et un pour lire les données de celui-ci.sqlite3 cursor.fetchall() renvoie un tableau vide
Le script qui crée la base de données
import os
import sqlite3
# set up database
conn = sqlite3.connect('Materials.db')
c = conn.cursor()
def createTable():
c.execute("DROP TABLE IF EXISTS images")
c.execute("CREATE TABLE images(ID TEXT, url TEXT)")
createTable()
path = os.getcwd()
imagepath = "/home/rootadmin/1080_images"
imagedir = os.listdir(imagepath)
for image in range(0,len(imagedir)):
c.execute('INSERT INTO images(ID, url) VALUES(?,?)',(imagedir[image],'www.google.com'))
print(imagedir[image])
Voici les commandes d'impression les données qui sont nécessaires, par exemple il pique les identifiants des images.
Dans mon script pour lire les données de la db:
import sqlite3
conn = sqlite3.connect('Materials.db')
c = conn.cursor()
c.execute('SELECT ID FROM images')
objectId = c.fetchall()
print(objectId)
J'ai une connaissance limitée de sqlite3, mais je me attends à la commande d'impression dans le second script pour imprimer l'ID a trouvé dans le tableau d'images , à partir du Materials.db, mais il renvoie un tableau vide.
vos boucles 'for' pourraient également être améliorées btw. faire 'pour item dans imagedir:' et dans la boucle utiliser la nouvelle variable 'item' au lieu de' imagedir [image] ' –