_io.TextIOWrapper 'объект не вызывается

Я пытаюсь распечатать, чтобы записать в файл, какой тип доставки и товар есть

from bs4 import BeautifulSoup
from selenium import webdriver
stock_file = r"C:\Users\Tut10\Desktop\PSTool-Python\Final\test.txt"


def Home_Depot_Shipping(url):

driver = webdriver.Chrome(r"C:\Users\Tut10\Desktop\PSTool-Python\chromedriver.exe")
driver.get(url)

# open a file to write to
file_to_write = open(stock_file, "a")

# send that file to me via email or text

free_delivery = driver.find_elements_by_xpath(r'//*[@id="buybelt"]/div[2]/div[2]/div/div[2]')

for x in free_delivery:

    #This should print one of the following options
    # Free Delivery, Standard Delivery, or Receive an email blah blah blah

    try:
        if "Free Delivery" in x.text:
            driver.quit()
            file_to_write.close()
            return "\t\t[+] Free Delivery"
        elif "Get it as soon as tomorrow" in x.text:
            driver.quit()
            #file_to_write.write("Cell: " + str(cell) + "[*] Express Delivery " + url + '\n')
            file_to_write.write("[*] Express Delivery " + url + "\n")
            file_to_write.close()
            return "\t\t[*] Express Delivery"
        elif "Receive an email" in x.text:
            driver.quit()
            file_to_write("[-] Out of Stock %s\n" % url)
            file_to_write.close()
            return "\t\t[-] Out of stock!"
        elif "Standard Delivery" in x.text:
            driver.quit()
            file_to_write.close()
            return "\t\t[+] Standard Delivery"

    except Exception as e:
        driver.quit()
        print(e)

Home_Depot_Shipping(r"https://www.homedepot.com/p/WEN-8-in-5-Speed-Drill-Press-4208/204853910?keyword=wen+4208")

Я ожидаю, что программа запишет в файл, если доставка экспресс-доставка (получите как можно скорее) или нет в наличии (получите электронное письмо)

Просто случайно, я знаю, что код внутри def Home_Depot_Shipping должен быть с отступом. Просто здесь не было копирования. Не обращайте на это внимания, пожалуйста. Он отлично работает как для бесплатной доставки, так и для стандартной. Когда он пытается записать в файл, я продолжаю получать эту ошибку

Объект _io.TextIOWrapper не вызывается

Будем очень признательны за любые предложения или помощь! Спасибо


person Jason    schedule 04.12.2017    source источник


Ответы (1)


возможно ты имел в виду

file_to_write.write("[-] Out of Stock %s\n" % url)

вместо того

file_to_write("[-] Out of Stock %s\n" % url)

как правило, сообщения об ошибках содержат достаточно хороших подсказок, если вы обратите внимание

person Ayush    schedule 04.12.2017