可能出现故障 - 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
潜在用户是否可以使此声明为真?
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