2011-04-15 12 views
9

पर एक पायथन स्क्रिप्ट कैसे चलाएं मैं एक विशिष्ट नौकरी करने के लिए एक साधारण पायथन लिपि लिखना चाहता हूं। मुझे एक वेब साइट से कुछ समय और लिंक जानकारी मिल रही है।एक विशिष्ट समय (ओं)

times= 
[ 
('17.04.2011', '06:41:44', 'abc.php?xxx'), 
('17.04.2011', '07:21:31', 'abc.php?yyy'), 
('17.04.2011', '07:33:04', 'abc.php?zzz'), 
('17.04.2011', '07:41:23', 'abc.php?www'),] 

सही समय पर इन लिंक पर क्लिक करने के लिए सबसे अच्छा तरीका क्या है? क्या मुझे वर्तमान और एक सूची में समय अंतराल की गणना करने की आवश्यकता है और थोड़ी देर के लिए सो जाओ?

मैं वास्तव में इस बिंदु पर अटक गया हूं और किसी भी विचार के लिए खुला हूं जो उपयोगी हो सकता है।

+0

[पायथन टाइम-स्क्रिप्ट] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/5657429/python-timed-script) –

+0

http://stackoverflow.com/questions/5657429/python-timed- स्क्रिप्ट/5658088 # 5658088 –

उत्तर

8

पायथन के sched मॉड्यूल पर एक नज़र डालें।

3

This मदद कर सकता है। यह पायथन में क्रॉन-जैसी शेड्यूलिंग के बारे में है। और हाँ, यह नींद पर आधारित है।

1

मैंने आखिरकार इसे बनाया और इसका इस्तेमाल किया।

def sleep_till_future(f_minute): 
    """ 
     The function takes the current time, and calculates for how many seconds should sleep until a user provided minute in the future. 
    """ 
    import time,datetime 


    t = datetime.datetime.today() 
    future = datetime.datetime(t.year,t.month,t.day,t.hour,f_minute) 

    if future.minute <= t.minute: 
     print("ERROR! Enter a valid minute in the future.") 
    else: 
     print "Current time: " + str(t.hour)+":"+str(t.minute) 
     print "Sleep until : " + str(future.hour)+":"+str(future.minute) 

     seconds_till_future = (future-t).seconds 
     time.sleep(seconds_till_future) 
     print "I slept for "+str(seconds_till_future)+" seconds!" 
3

आप शेड्यूल मॉड्यूल का उपयोग कर सकते हैं और इसका उपयोग करना आसान है और आपकी आवश्यकता को पूरा करेगा।

आप इस तरह कुछ कोशिश कर सकते हैं।

import datetime, schedule, request 

TIME = [('17.04.2011', '06:41:44', 'abc.php?xxx'), 
    ('17.04.2011', '07:21:31', 'abc.php?yyy'), 
    ('17.04.2011', '07:33:04', 'abc.php?zzz'), 
    ('17.04.2011', '07:41:23', 'abc.php?www')] 

def job(): 
    global TIME 
    date = datetime.datetime.now().strftime("%d.%m.%Y %H:%M:%S") 
    for i in TIME: 
     runTime = i[0] + " " + i[1] 
     if i and date == str(runTime): 
      request.get(str(i[2])) 

schedule.every(0.01).minutes.do(job) 

while True: 
    schedule.run_pending() 
    time.sleep(1) 

मेरे पास अनुरोध मॉड्यूल का उपयोग है और उन यूआरएल को कॉल करने के लिए विधि प्राप्त करें। आप जो भी तरीके आपको उपयुक्त बना सकते हैं लिख सकते हैं।

संबंधित मुद्दे