可能出现故障 - Python

Possible malfunction - Python

潜在用户是否可以使此声明为真?

secret = 25134231
z = ast.literal_eval(user_input)
if z == secret:
     access.granted() 

编辑以更多地回答您的问题...我认为您正在通过 literal_eval() 从用户输入(除其他事项外)进行函数调用,答案是否定的,无法完成。 literal_eval() 专为防止此类输入而设计。

对比见下文。用户可以键入 access_granted(),函数将 运行 与用户键入 24134231.

相同
import ast

def access_granted():
    print 'Yay'

while True:
    secret = 25134231
    user_input = raw_input('In: ')
    z = eval(user_input)
    if z == secret:
        access_granted()

示例:

In: access_granted()
Yay
In: 'Foo'

In: 25134231
Yay