Python Win32Clipboard.GetClipboardData-格式化
我有以下代码从剪贴板读取数据并将其添加到数据库:Python Win32Clipboard.GetClipboardData-格式化,python,pywin32,Python,Pywin32,我有以下代码从剪贴板读取数据并将其添加到数据库: import win32clipboard, sqlite3 try: win32clipboard.OpenClipboard() data = win32clipboard.GetClipboardData() win32clipboard.CloseClipboard() print data[0] # testing print data[1] # testing test = ''
import win32clipboard, sqlite3
try:
win32clipboard.OpenClipboard()
data = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
print data[0] # testing
print data[1] # testing
test = ''.join(data)
print test
conn = sqlite3.connect('DB')
cur = conn.cursor()
cur.execute('INSERT INTO Clipboard (Data) VALUES (?)', (test))
conn.commit()
conn.close()
except TypeError as e:
pass
print e
例如,剪贴板数据是stackoverflow。
收到以下错误:
s
Traceback (most recent call last):
t
stackoverflow
File "clipboard.py", line 13, in <module>
cur.execute('INSERT INTO Clipboard (Data) VALUES (?)', (test))
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 13 supplied.
我假设数据的输出是在元组或列表中。因此,我尝试以多种方式连接这些值,上面的连接仅代表测试的一种方式。
任何帮助都将不胜感激 参数列表必须是一个序列。 您发送string-sqlite,将其作为字母序列读取。
只需添加逗号测试,即可发送包含一个元素的元组或使用列表[test]。Ah完美。谢谢你能给我一个简短的概述,为什么这需要发生,或者什么搜索词将是最好的研究我自己?只要看看元组,就会带来很多麻烦!!!元组就像一个列表。只有两个区别:元组是不可变的,需要的内存比列表少。列表用方括号表示,元组用圆括号表示。元组末尾带有一个元素的逗号用于理解哪里是元组,哪里只是逻辑括号。