बढ़ाता है मैंने पाइथन/साइथन का उपयोग करके एक उपयोगिता विकसित की है जो सीएसवी फाइलों को टाइप करता है और क्लाइंट के लिए आंकड़े उत्पन्न करता है, लेकिन पूल मैप का आविष्कार करना मेरे मैप किए गए फ़ंक्शन को निष्पादित करने का मौका देने से पहले अपवाद उठाना प्रतीत होता है । फ़ाइलों की एक छोटी संख्या को सॉर्ट करने की अपेक्षा की जाती है, लेकिन फाइलों की संख्या 10 कहने के लिए बढ़ती है, इसलिए पूल.मैप को कॉल करने के बाद मुझे नीचे इंडेक्स त्रुटि मिलती है। क्या कोई नीचे दी गई त्रुटि को पहचानता है? कोई भी मदद बहुत ही सराहनीय होगी।पायथन मल्टीप्रोसेसिंग पूल.मैप इंडेक्स एरर
कोड NDA के अंतर्गत है, यूज-केस काफी सरल है:
कोड नमूना:
def sort_files(csv_files):
pool_size = multiprocessing.cpu_count()
pool = multiprocessing.Pool(processes=pool_size)
sorted_dicts = pool.map(sort_file, csv_files, 1)
return sorted_dicts
def sort_file(csv_file):
print 'sorting %s...' % csv_file
# sort code
आउटपुट:
File "generic.pyx", line 17, in generic.sort_files (/users/cyounker/.pyxbld/temp.linux-x86_64-2.7/pyrex/generic.c:1723)
sorted_dicts = pool.map(sort_file, csv_files, 1)
File "/usr/lib64/python2.7/multiprocessing/pool.py", line 227, in map
return self.map_async(func, iterable, chunksize).get()
File "/usr/lib64/python2.7/multiprocessing/pool.py", line 528, in get
raise self._value
IndexError: list index out of range
देख ट्रैस बैक आपको बताएंगे कि एक अलग varia शामिल आपके कोड नमूने ('परिणाम') में से एक की तुलना में ब्ली नाम ('sorted_dict'), जो बताता है कि आप वास्तविक कोड पोस्ट नहीं कर रहे हैं जो त्रुटि को चलाता है और उत्पन्न करता है। – BrenBarn
मेरे भाग पर टाइपो - परिणाम चर एक बहुत ही समान कार्य से था जो आंकड़ों की गणना करता है। मैंने टाइपो तय कर दिया है। – Cryo