Как перезапустить программу в python

У меня есть python script, который будет запущен, который в основном собирает данные и вставляет их в базу данных, основываясь на последнем обновлении базы данных. В основном, я хочу, чтобы этот script продолжал работать и никогда не останавливался, и снова запускать его после завершения. Какой был бы лучший способ сделать это?

Я рассмотрел использование cronjob и создание файла блокировки и просто запускаю script каждую минуту, но я чувствую, что может быть более эффективным способом.

Этот script в настоящее время написан на python 2.7 на OS ubuntu

Спасибо за помощь!

Лучший ответ:

Вы можете обернуть свой script в

while True: .

или с помощью bash script:

while true ; do yourpythonscript.py done
os.execv(sys.executable, [sys.executable] + sys.argv)

Оберните свой код в операторе while:

while 1==1: #this will always happen yourscripthere

Попросите его запустить сам, с теми же аргументами, вероятно, chmod +x it

os.execv(__file__, sys.argv)

вы также можете запросить у своего пользователя, хотите ли они снова запустить программу в обертке.

Как работает return в Python / Как работает return в Питоне


prompt = input(«would you like to run the program?») while prompt == «yes»: . . prompt = input(«would you like to run program again?»)
while True: execfile(«test.py»)

Это будет продолжать выполнение test.py снова и снова.

Источник: techarks.ru

Как запустить код заново в Python?

Я захотел сделать простенькую игру на Python. Но вот проблема. Я не знаю какой командой запустить код заново. Я пошол в Гугл и там били такие вопросы. Но ответи на них мне не помогли.

Читайте также:
Программа как решить пример

Мне нада какой-то PiP, либо функция чтобы запустить код заново. Методом создания функции давайте не будем))

Если нада вот код, согласен простенький, но я еще учусь))

import random
import time

random = ( random.randint(1, 2) )
number = float( input( ‘Введите число 1 либо 2. Если угадаете получите приз!’ ))

#угадал
if random == number:
a = str( input( ‘Вы угадали!! Дайте номер своего елект кошелька и ми начислим деньги. :’ ))
print( ‘Отлично!! Деньги прийдут через 5 минут.’ )
exit = input( ‘Програма завершена! Троян закроется через 15 секунд.n Чтобы закрыть програму press fn Спасибо что посмотрел до конца))) ‘ )
time.sleep(15)

elif exit == ‘f’:
SystemExit(1)

#не угадал
elif random != number:
b = input( ‘Вы не угадали(( Может попробуем снова ? (да, нет) :’ )

elif b == ‘нет’:
SystemExit(1)

  • Вопрос задан более двух лет назад
  • 10141 просмотр

1 комментарий

Средний 1 комментарий

Источник: qna.habr.com

Python-сообщество

[RSS Feed]

Импорт модулей. Функция reload. Как перезагрузить модуль в Python

  • Начало
  • » Python для новичков
  • » Команда для перезапуска программы

#1 Ноя. 5, 2012 17:25:44

Команда для перезапуска программы

Я хочу создать примерно такую прогу

x=input(«»» 1. математика 2. физика 3. химия 4. биология Для начала упражнения выберите номер предмета. Для информации о предмете, перед номером упражнения добавьте ‘help’ «»») if x==’help1′: f=input(«»»‘ блаблабларазная инфа Для начала упражнений в данном предмете, нажмите ‘go’. Для выхода нажмите ‘quit’ Для возврата к предыдущему выбору нажмите ‘re’. «»») if f==’re’:

Так что написать, что был перезапуск скрипта(проги), т.е. чтоб мне снова вывел запрос(перешло к началу скрипта) будто я снова прогу запустил?

пробовал с reload, который по сути должен был подойти, но не прокатило хз почему

Читайте также:
Как запускать программы написанные на java

import imp imp.reload(Pick) #Pick — название проги, лежит в директории установленной python, и чрез import(pick) без проблем вызывается Traceback (most recent call last): File «», line 1, in module> imp.reload(Pick) NameError: name ‘Pick’ is not defined

Отредактировано AlexSSpirit (Ноя. 5, 2012 17:28:48)

Источник: python.su

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru