Ответ 1
если вы используете python 2.x: raw_input()
python 3.x: input()
Пример:
# do some stuff in script
variable = raw_input('input something!: ')
# do stuff with variable
Возможно ли иметь script как в python?
...
Pause
->
Wait for the user to execute some commands in the terminal (e.g.
to print the value of a variable, to import a library, or whatever).
The script will keep waiting if the user does not input anything.
->
Continue execution of the remaining part of the script
По существу, script временно предоставляет управление интерпретатору командной строки python и возобновляется после того, как пользователь каким-то образом завершит эту часть.
Изменить: То, что я придумал (вдохновленный ответом), выглядит примерно так:
x = 1
i_cmd = 1
while True:
s = raw_input('Input [{0:d}] '.format(i_cmd))
i_cmd += 1
n = len(s)
if n > 0 and s.lower() == 'break'[0:n]:
break
exec(s)
print 'x = ', x
print 'I am out of the loop.'
если вы используете python 2.x: raw_input()
python 3.x: input()
Пример:
# do some stuff in script
variable = raw_input('input something!: ')
# do stuff with variable
Лучший способ, которым я это знаю, - использовать отладчик pdb. Поэтому поставьте
import pdb
в верхней части вашей программы, затем используйте
pdb.set_trace()
для вашей "паузы" В приглашении (Pdb) вы можете ввести команды, такие как
(Pdb) print 'x = ', x
и вы также можете выполнить код, хотя это не ваша цель. Когда вы закончите, просто введите
(Pdb) c
или любое подмножество слова "продолжить", и код возобновит выполнение.
Хорошее легкое введение в отладчик с ноября 2015 года https://pythonconquerstheuniverse.wordpress.com/2009/09/10/debugging-in-python/ но, конечно, есть много таких источников, если вы используете "отладчик python" или "python pdb".
Я думаю, что вы искали это:
import re
# Get user name
name = raw_input("Please enter name: ")
# While name has incorrect characters
while re.search('[^a-zA-Z\n]',name):
# Print out an error
print("illegal name - Please use only letters")
# Ask for the name again (if it incorrect, while loop starts again)
name = raw_input("Please enter name: ")
Из-за SEO этого вопроса, я включаю еще один ответ, который касается "приостановки" и "ожидания".
Функция ввода действительно остановит выполнение скрипта, пока пользователь не сделает что-то, вот пример, показывающий, как выполнение может быть продолжено вручную после просмотра предопределенных переменных, представляющих интерес:
var1 = "Interesting value to see"
print("My variable of interest is {}".format(var1))
key_pressed = input('Press ENTER to continue: ')
Другой случай, который я считаю полезным, - это ввести задержку, чтобы я мог прочитать предыдущие выходные данные и решить ctrl + c, если я хочу, чтобы сценарий завершился в нужный момент, но продолжаю, если я ничего не делаю.
import time.sleep
var2 = "Some value I want to see"
print("My variable of interest is {}".format(var2))
print("Sleeping for 5 seconds")
time.sleep(5) # Delay for 5 seconds
Пожалуйста, смотрите ответы выше по использованию pdb
для пошагового выполнения кода.
Ссылка: https://www.pythoncentral.io/pythons-time-sleep-pause-wait-sleep-stop-your-code/