Я не знаю, почему это начало происходить недавно. У меня есть функция, которая открывает новый текстовый файл, записывает в него URL-адрес, затем закрывает его, но это не делается сразу после выполнения f.close()
. Проблема в том, что функция после open_url()
должна прочитать из этого текстового файла URL-адрес, но, поскольку ничего нет, моя программа выдает ошибку.
По иронии судьбы, после того, как моя программа вышла из строя и я остановил ее, файл url.txt сделан хаха. Кто-нибудь знает, почему это происходит с действием python .write()
? Есть ли другой способ создать текстовый файл и написать строку текста в этот текстовый файл быстрее?
@staticmethod
def write_url():
if not path.exists('url.txt'):
url = UrlObj().url
print(url)
with open('url.txt', 'w') as f:
f.write(url)
f.close
else:
pass
@staticmethod
def open_url():
x = open('url.txt', 'r')
y = x.read()
return y
def main():
scraper = Job()
scraper.write_url()
url = scraper.open_url()
results = scraper.load_craigslist_url(url)
scraper.kill()
dictionary_of_listings = scraper.organizeResults(results)
scraper.to_csv(dictionary_of_listings)
if __name__ == '__main__':
main()
scheduler = BlockingScheduler()
scheduler.add_job(main, 'interval', hours=1)
scheduler.start()
Существует еще один класс, называемый url, который предлагает пользователю добавить атрибуты к пустому url для использования seleenium. UrlObj().url
дает вам URL для записи, который используется для записи в новый текстовый файл. Если файл url.txt уже существует, тогда передайте и go в open_url () и получите URL-адрес из файла url.txt для передачи в переменную url, которая используется для запуска очистки.