Различные методы выполнения строк в Python

Чтобы выполнить строку Python, вы можете использовать различные методы. Вот некоторые из распространенных способов добиться этого:

  1. eval(): функция eval() оценивает выражение Python, представленное в виде строки, и возвращает результат. Однако будьте осторожны при использовании eval(), поскольку он может выполнить произвольный код и создать угрозу безопасности, если используется с ненадежными входными данными.

Пример:

code = "print('Hello, World!')"
eval(code)
  1. exec(): функция exec() используется для выполнения динамически созданного кода Python. Он может выполнять несколько строк кода или даже целые программы, хранящиеся в виде строк.

Пример:

code = """
for i in range(5):
    print(i)
"""
exec(code)
  1. compile() и exec(): вы можете скомпилировать строку в объект кода с помощью встроенной функции compile(), а затем выполнить ее с помощью exec().

Пример:

code = """
for i in range(5):
    print(i)
"""
compiled_code = compile(code, "<string>", "exec")
exec(compiled_code)
  1. execfile(): В Python 2.x вы можете использовать функцию execfile() для выполнения содержимого файла как кода Python. Однако обратите внимание, что эта функция недоступна в Python 3.x.

Пример:

filename = "script.py"
execfile(filename)