[英]How to print the variable user input in python 3?
所以基本上,我有一個python程序,但在某些方面我需要幫助。 當用戶輸入變量名時,我希望它打印變量值,而不是變量名,即使變量不存在。 這是我目前所擁有的:
CMD = input(">>>> ")
if CMD[0:17] == "console.printVar(" and CMD[-1:] == ")" and CMD[-2:]!="')":
try:
CMD[13:-1]
except NameError:
print("Variable "+CMD[13:1]+" Not defined")
Main()
else:
print(CMD[17:-1])
Main()
哦,以防萬一還不清楚,我正在研究一種編碼語言。
要通過名稱獲取全局變量的值,請使用globals()
字典:
name = CMD[17:-1]
print(globals()[name])
您可以使用locals()
將本地(函數)范圍作為字典,而使用globals()
將全局(模塊)范圍作為字典。 現在,您可能需要閱讀更多有關解析,AST等的信息。
您可以只調用eval(CMD[17:-1])
。
但是,這不僅計算變量名,還應注意用戶不能對您的代碼進行任何惡意操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.