2016-05-10 7 views
2

Я пытаюсь запустить программу python из ноутбука ipython. Если запустить команду ниже, то работает .запустить программу python из ipython

run twitterstream.py >> output.txt 

Однако, если работать с в то время как цикл он не. Я не знаю, почему это не удается?

import time 
t_end = time.time() + 60 * 3 
while time.time() < t_end: 
    print ('entered') 
    run twitterstream.py >> output.txt 

Синтаксическая ошибка:

File "<ipython-input-28-842e0185b3a8>", line 5 
    run twitterstream.py >> output.txt 
        ^
SyntaxError: invalid syntax 
+0

что именно twitterstream.py делать? – Grr

+0

Он собирает твиты из твиттера. – samy

ответ

1

Ваше заявление в то время как правильно структурирована. Хотя он будет печатать «введенный» столько раз, сколько возможно, до истечения 180 секунд (это много раз), и он также попытается вызвать ваш скрипт таким же образом. Вам, скорее всего, будет лучше обслуживать, только называя ваш скрипт один раз каждые 1,5,10 или любое количество секунд, поскольку нет необходимости называть его постоянно.

Как указано Tadhg McDonald-Jensen, используя% run, вы сможете позвонить по своему сценарию. Также есть ограничения скорости звонков на твиттер, которые вы должны рассмотреть, см. here. В основном 15 за 15 минут или 180 за 15 минут, хотя я не уверен, что здесь применяется.

Предполагая, что за 15 минут в худшем случае вы можете запустить 15 вызовов в трехминутном окне. Таким образом, вы можете сделать что-то вроде:

from math import floor 

temp = floor(time.time()) 
    while time.time() < t_end: 
     if floor(time.time()) == temp + 12: 
      %run twitterstream.py >> output.txt 
     temp = floor(time.time()) 

Это вызовет ваш скрипт каждые 12 секунд.

+0

Это не касается фактического вопроса о том, почему эта строка кода работает в ноутбуке ipython, но вызывает синтаксис в скрипте? –

+0

@ TadhgMcDonald-Jensen Я знаю. К сожалению, OP не вызвал Синтаксическую ошибку до тех пор, пока я не опубликовал ее. – Grr

+0

Разве не очевидно, что 'run twitterstream.py >> output.txt' недопустим синтаксис python? –

Смежные вопросы