2016-03-14 3 views
0

В настоящее время я пытаюсь запустить файл .py, но в цикле. Только для теста я используюВыполнение файла .py в цикле

I = 0 
while I<10: 
    os.pause(10) 
    open(home/Tyler/desktop/test.py) 
    I = I + 1 

Я уверен, что это очень простой вопрос, но я не могу понять это. Я также хотел бы добавить в самом конце этого, я должен сделать это бегом бесконечно и позволить ему работать для некоторых других вещей.

+0

Какая ошибка вы получаете? – DanielGibbs

+0

Мне нужно было вернуться назад и посмотреть – TylerTotally

+0

Когда вы отправляете вопросы по StackOverflow, обычно полезно включать любые ошибки, которые вы должны облегчить людям, чтобы помочь вам. – DanielGibbs

ответ

3

Есть несколько причин, почему ваш код не работает:

  1. Неправильная отступы (это может быть просто, как вы скопировали его на StackOverflow, хотя).
  2. Использование os не требуется импорт.
  3. Не использовать кавычки для строки.
  4. Mis-использование функции open; open открывает файл для чтения и/или записи. Чтобы выполнить файл, вы, вероятно, захотите использовать os.system.

Вот версия, которая должна работать:

import os 

i = 0 
while i < 10: 
    os.pause(10) 
    os.system("home/Tyler/desktop/test.py") 
    i += 1 
+0

Спасибо. Я собираюсь проверить его прямо сейчас. – TylerTotally

+0

. Спасибо, что сработало красиво. – TylerTotally

1
  • Питона отступы чувствителен к регистру, и ваш код отсутствует отступы после while заявления!

  • Выполнение команды open не запускает скрипт Python. Вы можете читать то, что он делает здесь, в документации: https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files

  • Этот стек Переполнение вопрос говорит о том, как запустить Python, что это в другом файле How can I make one python file run another?

    Я рекомендую оборачивать код, который вы хотите запустить в функции, например

    def foo(): 
        print 'hello' 
    

    а затем сохраните его в foo.py. Из основного сценария, вы можете сделать:

    import foo 
    
    i = 0 
    while i < 10: 
        foo.foo() 
        i += 1 
    
  • Если вы хотите, чтобы запустить что-то в бесконечном цикле, необходимо условие петли while всегда верно:

    while True: 
        # do thing forever 
    
  • Примечание по импорту: Приведенный мною пример будет работать, если файл foo.py находится в том же каталоге, что и основной файл Python. Если это не так, то вы должны прочитать здесь о том, как создавать модули Python. http://www.tutorialspoint.com/python/python_modules.htm

+0

Я изменил вашу переменную I на i, так как обычно считается, что переменные с заглавными буквами в python считаются плохими, см. Стиль guide: https://www.python.org/dev/peps/pep-0008/ – lochsh

+0

Я собирался использовать это для двух программ, так что спасибо за ответ, потому что вы также исправили обе мои проблемы – TylerTotally

+0

Спасибо TylerTotally :) Может быть, вы можете дать мне upvote, если вам понравился мой ответ; o – lochsh