Используя команду exec()
python, можно ли запускать блоки кода с отступом (например, операторы if/else
или try/except
).Например:
name = input("Enter name: ")
if name == "Bob":
print("Hi bob")
else:
print("Hi user")
В настоящее время я использую это для запуска кода:
code_list = []
while True:
code = input("Enter code or type end: ")
if code == "end":
break
else:
code_list.append(code)
for code_piece in code_list:
exec(code_piece)
Также я знаю, что это не очень "Pythonic" или "Good Practice"чтобы позволить пользователю вводить свой собственный код, но это будет полезно в других частях моего кода.