Потоки в Python: Python 'args' является недопустимым аргументом ключевого слова для этой функции, почему? - PullRequest
1 голос
/ 07 декабря 2011

Я написал код для потоков в Python.

Выдает ошибку ниже.

Как мне исправить эту ошибку?

    from django.core.management import setup_environ
    import settings
    setup_environ(settings)
    from threading import Thread
    import urllib2
    from django.db import transaction
    from Uzvy.models import *

    feed_obj_list = Uzvy.objects.all().order_by('uzvy_id')
    print len(feed_obj_list)

    def save_thread_list(feed_list):
        print len(feed_list)



    number_of_threads = 4
    count=0
    total=len(feed_obj_list)
    step=total/number_of_threads


    print len(feed_obj_list[0:100])

    if total>0:
       while (count*step)<=total:
           if count==0:
               t=Thread(target=save_thread_list,args=(feed_obj_list[0:step],))
               t.start()
           else:
           t=Thread(target=save_thread_list,args=(feed_obj_list[count*step:(count+1)*step],))
               t.start()
           count=count+1 

Если я запускаю этот код, я получаю следующую ошибку.

Я сделал какую-либо ошибку здесь, мне нужно включить любые файлы

   Traceback (most recent call last):
      File "threading_by_venkat_2.py", line 67, in <module>
          t=Thread(target=save_thread_list,args=(feed_obj_list,))
      File "/usr/lib/python2.6/dist-packages/django/db/models/base.py", line 243, in __init__
              raise TypeError, "'%s' is an invalid keyword argument for this function" % kwargs.keys()[0]
              TypeError: 'args' is an invalid keyword argument for this function

Как мне исправить эту ошибку?

1 Ответ

1 голос
/ 07 декабря 2011

Я думаю (отредактировано: Я уверен ) у вас есть модель с именем Thread. Таким образом, вы пытаетесь создать экземпляр Uzvy.models.Thread, а не threading.Thread

...