[置顶] python脚本sqlite3模块的应用
#!/usr/bin/python # -*- coding:utf-8 -*- import sqlite3 import os class SQLTest: '''sqlite数据库接口''' def __init__(self,path='',verbose=False): self.verbose = verbose self.path = path if os.path.isfile(path): self.conn = sqlite3.connect(p
#!/usr/bin/python# -*- coding:utf-8 -*-
import sqlite3
import os
class SQLTest:
'''sqlite数据库接口'''
def __init__(self,path='',verbose=False):
self.verbose = verbose
self.path = path
if os.path.isfile(path):
self.conn = sqlite3.connect(path)
if self.verbose:
print('硬盘上面:[{}].format(path)')
else:
self.conn = sqlite3.connect(':memory:')
if self.verbose:
print('内存上面:[:memory:]')
def setverbose(self,b):
self.verbose = b
def createtable(self,sql):
'''创建数据库表'''
if sql is not None and sql != '':
cu = self.conn.cursor()
if self.verbose:
print('执行sql:[{}]'.format(sql))
cu.execute(sql)
self.conn.commit()
if self.verbose:
print('创建数据库表成功!')
self.close_all(cu)
else:
print('The [{}] is empty or equal None!'.format(sql))
def querytable(self):
sql = 'SELECT name FROM sqlite_master WHERE type="table" ORDER BY name'
cu = self.conn.cursor()
cu.execute(sql)
return cu.fetchall()
def renametable(self,table,newtable):
if table is not None and talbe !='':
sql = 'ALTER TABLE %s RENAME TO "%s" ' % (table,newtable)
cu = self.conn.cursor()
cu.execute(sql)
self.conn.commit()
print('delete table sucess!')
self.close_all(cu)
else:
print('The [{}] is empty or equal None!'.format(sql))
def insert(self,sql,data):
if sql is not None and sql != '':
if data is not None:
cu = self.conn.cursor()
for d in data:
cu.execute(sql,d)
self.conn.commit()
if self.verbose:
print('插入数据库表成功!')
self.close_all(cu)
else:
print('The [{}] is empty or equal None!'.format(sql))
def fetchall(self,sql):
if sql is not None and sql != '':
cu = self.conn.cursor()
if self.verbose:
print('执行sql:[{}]'.format(sql))
cu.execute(sql)
return cu.fetchall()
else:
print('The [{}] is empty or equal None!'.format(sql))
def fetchone(self,sql,data):
if sql is not None and sql != '':
if data is not None:
cu = self.conn.cursor()
cu.execute(sql,(data,))
return cu.fetchall()
else:
print('The [{}] is None!'.format(data))
else:
print('The [{}] is empty or equal None!'.format(sql))
def updata(self,sql,data):
if sql is not None and sql != '':
if data is not None:
cu = self.conn.cursor()
for d in data:
cu.execute(sql,d)
self.conn.commit()
self.close_all(cu)
else:
print('The [{}] is empty or equal None!'.format(sql))
def rowcount(self,table):
sql = 'select count (*) from "%s"' % table
cu = self.conn.cursor()
r = cu.execute(sql)
return (r.fetchone()[0])
def delete(self,sql,data):
if sql is not None and sql != '':
if data is not None:
cu = self.conn.cursor()
for d in data:
cu.execute(sql,d)
self.conn.commit()
self.close_all(cu)
else:
print('The [{}] is empty or equal None!'.format(sql))
def droptable(self,table):
if table is not None and table != '':
sql = 'DROP TABLE IF EXISTS ' + table
cu = self.conn.cursor()
cu.execute(sql)
self.conn.commit()
print('delete table sucess!')
self.close_all(cu)
else:
print('The [{}] is empty or equal None!'.format(sql))
def close_all(self,cu):
try:
if cu is not None:
cu.close()
finally:
if cu is not None:
cu.close()
# function
def drop_table_test(sql,table):
'''删除数据库表测试'''
print('删除数据库表测试 ...')
db.droptable(table)
def create_table_test(sql):
'''创建数据库表测试'''
print('创建数据库表测试 ...')
create_table_sql = '''CREATE TABLE IF NOT EXISTS 'table1'(
'id' integer(32) NOT NULL,
'name' nvarchar(128) NOT NULL,
PRIMARY KEY('id')
)'''
sql.createtable(create_table_sql)
def insert_test(sql):
'''插入数据测试 ...'''
print('插入数据测试 ...')
insert_sql = 'INSERT INTO table1 values(?,?)'
data = [(1,'aaa'),(2,'bbb')]
sql.insert(insert_sql,data)
def fetchall_test(sql):
'''查询所有数据'''
print('查询所有数据 ...')
fetchall_sql = 'SELECT * FROM table1'
r = sql.fetchall(fetchall_sql)
for e in range(len(r)):
print(r[e])
def fetchone_test(sql):
'''查询一条数据'''
print('查询一条数据 ...')
fetchall_sql = 'SELECT * FROM table1 WHERE id = ?'
data = 1
r = sql.fetchone(fetchall_sql,data)
for e in range(len(r)):
print(r[e])
def query_test(sql):
'''有几个表'''
print('有几个表 ...')
print(sql.query_table(db))
def update_test(sql):
'''更新数据'''
print('更新数据 ...')
update_sql = 'UPDATE table1 SET name = ? WHERE id = ?'
data = [('TestA',1),('TestB',2)]
sql.updata(update_sql,data)
def delete_test(db):
'''删除数据'''
print('删除数据 ...')
delete_sql = 'DELETE FROM table1 WHERE name = ? and id = ?'
data = [('TestA',1)]
sql.delete(delete_sql,data)
# self test
if __name__ == '__main__':
sql = SQLTest(verbose=True)
#创建数据库表
create_table_test(sql)
#插入数据
insert_test(sql)
#查询多条数据
fetchall_test(sql)
#查询一条数据
fetchone_test(sql)
#更新数据
update_test(sql)
#查询多条数据
fetchall_test(sql)
#删除一条数据
delete_test(sql)
print(sql.rowcount('table1'))
#查询多条数据
fetchall_test(sql)
#==================================================================================
测试结果


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Geschwindigkeit der mobilen XML zu PDF hängt von den folgenden Faktoren ab: der Komplexität der XML -Struktur. Konvertierungsmethode für mobile Hardware-Konfiguration (Bibliothek, Algorithmus) -Codierungsoptimierungsmethoden (effiziente Bibliotheken, Optimierung von Algorithmen, Cache-Daten und Nutzung von Multi-Threading). Insgesamt gibt es keine absolute Antwort und es muss gemäß der spezifischen Situation optimiert werden.

Mit einer einzigen Anwendung ist es unmöglich, XML -zu -PDF -Konvertierung direkt auf Ihrem Telefon zu vervollständigen. Es ist erforderlich, Cloud -Dienste zu verwenden, die in zwei Schritten erreicht werden können: 1. XML in PDF in der Cloud, 2. Zugriff auf die konvertierte PDF -Datei auf dem Mobiltelefon konvertieren oder herunterladen.

Es gibt keine integrierte Summenfunktion in der C-Sprache, daher muss sie selbst geschrieben werden. Die Summe kann erreicht werden, indem das Array durchquert und Elemente akkumulieren: Schleifenversion: Die Summe wird für die Schleifen- und Arraylänge berechnet. Zeigerversion: Verwenden Sie Zeiger, um auf Array-Elemente zu verweisen, und eine effiziente Summierung wird durch Selbststillstandszeiger erzielt. Dynamisch Array -Array -Version zuweisen: Zuordnen Sie Arrays dynamisch und verwalten Sie selbst den Speicher selbst, um sicherzustellen, dass der zugewiesene Speicher befreit wird, um Speicherlecks zu verhindern.

Es gibt keine App, die alle XML -Dateien in PDFs umwandeln kann, da die XML -Struktur flexibel und vielfältig ist. Der Kern von XML zu PDF besteht darin, die Datenstruktur in ein Seitenlayout umzuwandeln, für das XML analysiert und PDF generiert werden muss. Zu den allgemeinen Methoden gehören das Parsen von XML mithilfe von Python -Bibliotheken wie ElementTree und das Generieren von PDFs unter Verwendung der ReportLab -Bibliothek. Für komplexe XML kann es erforderlich sein, XSLT -Transformationsstrukturen zu verwenden. Wenn Sie die Leistung optimieren, sollten Sie Multithread- oder Multiprozesse verwenden und die entsprechende Bibliothek auswählen.

XML -Formatierungs -Tools können Code nach Regeln eingeben, um die Lesbarkeit und das Verständnis zu verbessern. Achten Sie bei der Auswahl eines Tools auf die Anpassungsfunktionen, den Umgang mit besonderen Umständen, die Leistung und die Benutzerfreundlichkeit. Zu den häufig verwendeten Werkzeugtypen gehören Online-Tools, IDE-Plug-Ins und Befehlszeilen-Tools.

XML kann mithilfe eines XSLT -Konverters oder einer Bildbibliothek in Bilder konvertiert werden. XSLT -Konverter: Verwenden Sie einen XSLT -Prozessor und Stylesheet, um XML in Bilder zu konvertieren. Bildbibliothek: Verwenden Sie Bibliotheken wie Pil oder Imagemagick, um Bilder aus XML -Daten zu erstellen, z. B. Zeichnen von Formen und Text.

Eine Anwendung, die XML direkt in PDF konvertiert, kann nicht gefunden werden, da es sich um zwei grundlegend unterschiedliche Formate handelt. XML wird zum Speichern von Daten verwendet, während PDF zur Anzeige von Dokumenten verwendet wird. Um die Transformation abzuschließen, können Sie Programmiersprachen und Bibliotheken wie Python und ReportLab verwenden, um XML -Daten zu analysieren und PDF -Dokumente zu generieren.

Verwenden Sie die meisten Texteditoren, um XML -Dateien zu öffnen. Wenn Sie eine intuitivere Baumanzeige benötigen, können Sie einen XML -Editor verwenden, z. B. Sauerstoff XML -Editor oder XMLSPY. Wenn Sie XML -Daten in einem Programm verarbeiten, müssen Sie eine Programmiersprache (wie Python) und XML -Bibliotheken (z. B. XML.etree.elementtree) verwenden, um zu analysieren.
