Как я могу добавить функцию цикла и 1-минутную задержку к моему скрипту Python? - PullRequest
0 голосов
/ 04 июля 2019

У меня есть сценарий Python, который считывает отдельные идентификаторы акций из файла данных, а затем вызывает URL для каждого уникального идентификатора и записывает выходной файл. Я хотел бы изменить этот код, чтобы он выполнял только 5 идентификаторов, затем ждал 60 секунд, выполнял еще 5, ждал еще 60 секунд и т. Д., Пока список не будет заполнен. Я думал использовать функцию Sleep (60) и создать какой-то тип Loop, но не был уверен, что это лучший способ сделать это в Python. Может ли кто-нибудь помочь изменить мой код ниже для достижения этой цели? Спасибо.

# Import the library
import urllib.request

url_base = "https://www.website.com/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol={}&outputsize=full&apikey=123&datatype=csv"

dest_path = "C:/Users/ScriptTest/Date/{}.csv"

symbols = open("symbols.txt").read().strip().split("\n")

for symbol in symbols:
  url = url_base.format(symbol) # Add the curret symbol to base URL
  dest = dest_path.format(symbol) # Add the curret symbol as the file name
  urllib.request.urlretrieve(url, dest) # Save the current file 

** Хотелось бы выполнить последние 3 строки выше 5x, затем сделать паузу в 60 секунд, затем выполнить следующие 5 символов и т. Д., Пока список не будет исчерпан.

Ответы [ 2 ]

0 голосов
/ 04 июля 2019
#add import time
c=0
for symbol in symbols:

  if c==5:
     time.sleep(60)
     c=0
  url = url_base.format(symbol) # Add the curret symbol to base URL
  dest = dest_path.format(symbol) # Add the curret symbol as the file name
  urllib.request.urlretrieve(url, dest)
  c+=1
0 голосов
/ 04 июля 2019

Полагаю, вышесказанное сработает,

from time import sleep

n = 1
for symbol in symbols:
  url = url_base.format(symbol) # Add the curret symbol to base URL
  dest = dest_path.format(symbol) # Add the curret symbol as the file name
  urllib.request.urlretrieve(url, dest) # Save the current file
  if n % 5 == 0:
    sleep(60)
  n += 1
...