有没有办法将python代码作为变量,修改它们,然后将它们作为代码执行?

时间:2017-09-20 01:37:09

标签: python python-2.7 python-3.x

有没有办法将python语句作为字符串,列表或任何其他变量,然后稍后作为代码执行它们(可能有延迟修改)?

简单示例:

execution_statements = '''
print(a)
print(b)
print({})
'''.format(c)

while_loop = '''
while(condition==True):
    {}
    #execution statements
'''.format(execution_statements)

python.execute_as_code(while_loop)

2 个答案:

答案 0 :(得分:1)

使用exec内置功能。这是一个有效的实现:

c = '"test"'

execution_statements = '''
    print(1)
    print(2)
    print({})
'''.format(c)

while_loop = '''\
while (True):
    {}
    #execution statements
'''.format(execution_statements)

exec(while_loop)

请注意输入的来源,因为这代表了安全方面的缺陷。

答案 1 :(得分:1)

您可以使用文档中列出的exec exec语句。但是,您永远不应该使用POST: https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resrouceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}/listKeys?api-version=2016-01-01 Authorization: Bearer {token} 。请参阅here了解原因