“ ThreadPoolExecutor”对象没有属性“ product”

时间:2019-10-27 13:09:11

标签: python multithreading for-loop itertools threadpoolexecutor

我想使用“ ThreadPoolExecutor”或“ ProcessPoolExecutor”,以便我的代码运行更快(我使用Windows)。我有一个带4个变量的for循环,我想在所有可能的组合的相同范围内运行它们,因此我使用的是来自'itertools'的'product':

# Load ppackages
import urllib.parse
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# Define page
file = urllib.parse.quote("https://scholar.harvard.edu/files/torman_personal/files/samplepptx.pptx")
link = "http://view.officeapps.live.com/op/view.aspx?src=" + file

# Setup Webdriver 
driver = webdriver.Firefox()
driver.get(link)

# Define wait for "Print to PDF" button to show up
wait = WebDriverWait(driver, 20)
element = wait.until(EC.element_to_be_clickable((By.ID, "PptUpperToolbar.LeftButtonDock.PrintToPdf-Medium20")))

# Check page
# element.get_attribute('outerHTML')
# element.get_attribute('innerHTML')

# Click element
element.click()

然后,我要执行以下操作,以便我的代码在多线程中运行:

from itertools import product        #Multiple loops

p=range(1,200,10)
No=4

for op0,op1,op2,op3 in product(p, repeat=No):
    op=[op0,op1,op2,op3] 
    o=np.empty(No)
    for i in range(0,No):
        o[i]=0.1*op[i]

我收到错误消息“'ThreadPoolExecutor'对象没有属性'product'”,但是有没有办法做类似的事情?

先谢谢您了:)

0 个答案:

没有答案