2017-10-18 15 views
0

明白ではない与えられた私は、次のエラーを取得しています:はTypeError:add_log()は1つの位置引数を取りますが、2は

cursor = dev_db_connection() 
log_queue = queue.Queue() 

    def add_log(cursor): 
      while True: 
       if log_queue.empty() == False: 
        current_log = log_queue.get() 
        add_log(cursor, current_log) 

:ここ

Traceback (most recent call last): 
    File "C:\Program Files\Python35\lib\threading.py", line 914, in _bootstrap_inner 
    self.run() 
    File "C:\Program Files\Python35\lib\threading.py", line 862, in run 
    self._target(*self._args, **self._kwargs) 
    File "C:\Users\jerem\Source\Repos\ets-ws\python\shot_caller.py", line 73, in add_log 
    add_log(cursor, current_log) 
TypeError: add_log() takes 1 positional argument but 2 were given 

は私のコードサンプル

メインですSQLライブラリ:

def add_log(cursor, current_log): 
    return sql_query(cursor, """SQL query string""") 

カップルではありませんes:

sql_query()が正常に機能すると、add_log()機能が壊れているようです。

これはスレッドに入れられ、キューに入れられるデータはタプル(1, 2, 3, 4)です。

私は他の質問に答えることができます。

答えて

0

問題は、MainSQL libの両方で同じ名前を使用していることです。

メイン:

... 
log_queue = queue.Queue() 

    def add_log(cursor): # <= Here is an "add_log". 
... 

SQL libに:

def add_log(cursor, current_log): # <= Here is another one. 
    return sql_query(cursor, """SQL query string""") 

だから、インタプリタMainに最も近いものを使用してみてください。

+0

これは、ありがとうございました:D –