@pysnooper.snoop()
def queryByIds(self,*args,**kwargs):
sql = '''SELECT * FROM Finance_Gov.siteSecInfo where protocol=%s AND host=%s AND port=%s AND `path`=%s;'''
# 顺序处理,和摘出
a = ['protocol','host','port','path']
o = {}
for k in a:
o[k] = kwargs[k]
r = self.execute(sql,*args,**o)
# a = 'protocol,host,port,path,servername,powerby,lastModified,jsMath,jsVulnerabilityNums,language,cookieNames,lstUpDateTime'.split(',')
if r:
print(r)
a = list(r)
if 0 < len(a):
return a[0]
return None
error:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/twisted/internet/defer.py", line 858, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/scrapy/utils/defer.py", line 150, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/Users/51pwn/MyWork/51pwnScrapy/pwn4scrapy/pwn4scrapy/pipelines.py", line 24, in process_item
self.mysqlDb.insertItem(item)
File "/Users/51pwn/MyWork/51pwnScrapy/pwn4scrapy/pwn4scrapy/mysql_db.py", line 176, in insertItem
r = self.queryByIds(**o)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pysnooper/tracer.py", line 263, in simple_wrapper
return function(*args, **kwargs)
File "/Users/51pwn/MyWork/51pwnScrapy/pwn4scrapy/pwn4scrapy/mysql_db.py", line 156, in queryByIds
a = list(r)
File "/Users/51pwn/MyWork/51pwnScrapy/pwn4scrapy/pwn4scrapy/mysql_db.py", line 69, in execute
print(a)
UnboundLocalError: local variable 'a' referenced before assignment